Кодирование флагов кодированных блоков

Иллюстрации

Показать все

Изобретение относится к области кодирования/декодирования видеоданных. Технический результат – повышение эффективности кодирования и декодирования видеоданных. Способ кодирования видеоданных содержит этапы, на которых: принимают или генерируют видеоданные; генерируют поток битов, включающий в себя данные, которые представляют остаточное дерево квадрантов (RQT) для единицы кодирования (CU) изображения из ряда изображений, причем генерирование потока битов содержит: генерирование остаточных данных для CU на основе предсказанных видеоблоков для одной или более единиц предсказания (PU) из CU и исходного видеоблока этой CU; для каждого соответствующего узла из RQT, в ответ на определение того, что блок, соответствующий соответствующему узлу, больше упомянутого максимально допустимого размера TU, автоматическое разбиение, без кодирования в потоке битов флага разбиения для соответствующего узла, этого блока, соответствующего соответствующему узлу, на четыре подблока; генерирование двух флагов кодированных блоков (CBF) цветности в корневом узле из RQT; выводят поток битов. 8 н. и 44 з.п. ф-лы, 13 ил.

Реферат

[0001] Данная заявка испрашивает приоритет предварительной заявки на патент США № 61/620,765, поданной 5 апреля 2012 года, содержимое которой полностью содержится в данном документе по ссылке.

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

[0002] Данное раскрытие относится к кодированию и сжатию видео и, в частности, к кодированию флагов кодированных блоков.

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

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

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

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

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

[0006] В одном аспекте, способ для кодирования видеоданных содержит генерирование данных, которые представляют остаточное RQT для CU, причем CU больше максимально допустимого размера TU. RQT включает в себя иерархию узлов. Корневой узел RQT соответствует CU в целом, и концевые узлы RQT соответствуют TU из CU. Корневой узел ассоциирован с CBF для конкретной компоненты цветности, причем CBF для конкретной компоненты цветности указывает то, ассоциированы или нет какие-либо из TU из CU со значимым блоком коэффициентов цветности, который основан на выборках конкретной компоненты цветности. Способ также содержит вывод потока битов, который включает в себя RQT для CU.

[0007] В другом аспекте, способ для декодирования видеоданных содержит синтаксический анализ из потока битов, который включает в себя закодированное представление видеоданных, CBF корневого узла RQT CU. Пиксельный блок CU больше максимально допустимого размера TU. Способ также содержит, если CBF имеет первое значение, синтаксический анализ, из потока битов, блока коэффициентов цветности, ассоциированного с концевым узлом RQT. Если CBF имеет второе значение, которое отличается от первого значения, блок коэффициентов цветности, ассоциированный с концевым узлом, не анализируется синтаксически из потока битов.

[0008] В другом аспекте, устройство кодирования видео кодирует видеоданные. Устройство кодирования видео содержит один или более процессоров, сконфигурированных с возможностью генерировать данные, которые представляют RQT для CU, причем CU больше максимально допустимого размера TU, при этом RQT включает в себя иерархию узлов. Корневой узел RQT соответствует CU в целом, и концевые узлы RQT соответствуют TU из CU. Корневой узел ассоциирован с CBF для конкретной компоненты цветности, причем CBF для конкретной компоненты цветности указывает то, ассоциированы или нет какие-либо из TU из CU со значимым блоком коэффициентов цветности, который основан на выборках конкретной компоненты цветности.

[0009] В другом аспекте, устройство декодирования видео декодирует видеоданные. Устройство декодирования видео содержит один или более процессоров, сконфигурированных с возможностью синтаксически анализировать из потока битов, который включает в себя закодированное представление видеоданных, CBF корневого узла RQT CU. Пиксельный блок CU больше максимально допустимого размера TU. Один или более процессоров сконфигурированы с возможностью синтаксически анализировать, если CBF имеет первое значение, из потока битов, блок коэффициентов цветности, ассоциированный с концевым узлом RQT. Если CBF имеет второе значение, которое отличается от первого значения, блок коэффициентов цветности, ассоциированный с концевым узлом, не анализируется синтаксически из потока битов.

[0010] В другом аспекте, устройство кодирования видео кодирует видеоданные. Устройство кодирования видео содержит средство для генерирования данных, которые представляют RQT для CU, причем CU больше максимально допустимого размера TU, при этом RQT включает в себя иерархию узлов. Корневой узел RQT соответствует CU в целом, и концевые узлы RQT соответствуют TU из CU. Корневой узел ассоциирован с CBF для конкретной компоненты цветности, причем CBF для конкретной компоненты цветности указывает то, ассоциированы или нет какие-либо из TU из CU со значимым блоком коэффициентов цветности, который основан на выборках конкретной компоненты цветности.

[0011] В другом аспекте, устройство декодирования видео декодирует видеоданные. Устройство декодирования видео содержит средство для синтаксического анализа из потока битов, который включает в себя закодированное представление видеоданных, CBF корневого узла RQT CU. Пиксельный блок CU больше максимально допустимого размера TU. Устройство декодирования видео также содержит средство для синтаксического анализа, если CBF имеет первое значение, из потока битов, блока коэффициентов цветности, ассоциированного с концевым узлом RQT. Если CBF имеет второе значение, которое отличается от первого значения, блок коэффициентов цветности, ассоциированный с концевым узлом, не анализируется синтаксически из потока битов.

[0012] В другом аспекте, считываемый компьютером носитель данных хранит инструкции, которые, при исполнении посредством одного или более процессоров устройства кодирования видео, конфигурируют устройство кодирования видео с возможностью генерировать данные, которые представляют RQT для CU, при этом RQT включает в себя иерархию узлов. Корневой узел RQT соответствует CU в целом, и концевые узлы RQT соответствуют TU из CU. Корневой узел ассоциирован с CBF для конкретной компоненты цветности, причем CBF для конкретной компоненты цветности указывает то, ассоциированы или нет какие-либо из TU из CU со значимым блоком коэффициентов цветности, который основан на выборках конкретной компоненты цветности.

[0013] В другом аспекте, считываемый компьютером носитель данных хранит инструкции, которые, при исполнении посредством одного или более процессоров устройства декодирования видео, конфигурируют устройство кодирования видео с возможностью синтаксически анализировать из потока битов, который включает в себя закодированное представление видеоданных, CBF корневого узла RQT CU. Пиксельный блок CU больше максимально допустимого размера TU. Инструкции также конфигурируют один или более процессоров с возможностью синтаксически анализировать, если CBF имеет первое значение, из потока битов, блок коэффициентов цветности, ассоциированный с концевым узлом RQT. Если CBF имеет второе значение, которое отличается от первого значения, блок коэффициентов цветности, ассоциированный с концевым узлом, не анализируется синтаксически из потока битов.

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

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

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

[0016] Фиг. 2A является концептуальной схемой, иллюстрирующей примерное разложение на дерево квадрантов остаточного пиксельного блока, ассоциированного с единицей кодирования (CU).

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

[0018] Фиг. 3 является концептуальной схемой, иллюстрирующей примерное остаточное дерево квадрантов (RQT).

[0019] Фиг. 4A является концептуальной схемой, иллюстрирующей примерный блок остаточных выборок яркости CU 64×64.

[0020] Фиг. 4B является концептуальной схемой, иллюстрирующей примерный блок остаточных выборок цветности CU 64×64.

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

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

[0023] Фиг. 7 является концептуальной схемой, иллюстрирующей примерное остаточное дерево квадрантов (RQT), в соответствии с одной или более технологий этого раскрытия.

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

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

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

[0027] Фиг. 10B является блок-схемой последовательности операций способа, иллюстрирующей продолжение примерной работы по фиг. 10A, в соответствии с одной или более технологий этого раскрытия.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[0028] Видеокодер разлагает остаточный пиксельный блок единицы кодирования (CU) на один или более меньших остаточных пиксельных блоков, каждый из которых ассоциирован с единицей преобразования (TU) CU. Каждый пиксел остаточных пиксельных блоков включает в себя выборку яркости (Y) и также может включать в себя две выборки цветности, U и V. Выборка U может указывать разность между компонентой синего цвета пиксела и выборкой Y для пиксела. По этой причине, выборка U также может упоминаться в качестве выборки Cb. Выборка V может указывать разность между выборкой красного цвета пиксела и выборкой Y для пиксела. По этой причине, выборка V также может упоминаться в качестве выборки Cr.

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

[0030] Видеокодер может генерировать данные, которые представляют остаточное дерево квадрантов (RQT) для CU. RQT также может упоминаться в качестве дерева преобразования. RQT для CU содержит набор узлов. Каждый из узлов соответствует блоку остаточных выборок. Корневой узел RQT соответствует остаточному пиксельному блоку CU. Концевые узлы RQT соответствуют остаточным пиксельным блокам TU из CU. Узлы RQT могут быть ассоциированы с флагами разбиения. Флаг разбиения узла может указывать то, имеет или нет узел множество дочерних узлов RQT.

[0031] Кроме того, в дополнение к ассоциированию с флагами разбиения, каждый концевой узел RQT ассоциирован с флагом кодированного блока (CBF) яркости, который указывает то, ассоциирован или нет концевой узел со значимым блоком коэффициентов яркости. В этом раскрытии, CBF яркости также может упоминаться в качестве CBF Y, и блок коэффициентов яркости может упоминаться в качестве блока коэффициентов Y. Блок коэффициентов Y представляет собой блок коэффициентов на основе блока остаточных выборок Y. В дополнение к флагам разбиения и CBF яркости, узлы RQT также могут быть ассоциированы с CBF U и CBF V. CBF U узла указывает то, ассоциирован или нет узел либо какой-либо узел-потомок узла со значимым блоком коэффициентов U. Блок коэффициентов U представляет собой блок коэффициентов на основе блока остаточных выборок U. Первый узел может представлять собой узел-потомок второго узла, если второй узел представляет собой корневой узел RQT или существует путь через RQT из первого узла в корневой узел, который проходит через второй узел и не проходит через какой-либо узел более одного раза. Если CBF U узла указывает то, что узел и каждый узел-потомок узла не ассоциированы со значимым блоком коэффициентов U, ни один узел-потомок узла не ассоциирован с CBF U. CBF V узла указывает то, ассоциирован или нет узел либо какой-либо узел-потомок узла со значимым блоком коэффициентов V. Блок коэффициентов V представляет собой блок коэффициентов на основе блока остаточных выборок V. Если CBF V узла указывает то, что узел и каждый узел-потомок узла не ассоциированы со значимым блоком коэффициентов V, ни один узел-потомок узла не ассоциирован с CBF V. Если узел соответствует блоку остаточных выборок, который больше максимально допустимого размера TU, узел не ассоциирован с CBF U или CBF V.

[0032] Может возникать несколько проблем в этой системе. Во-первых, предусмотрены различные способы для сигнализирования того, ассоциированы или нет узлы RQT с блоками значимых коэффициентов яркости и блоками значимых коэффициентов U и V. Иными словами, CBF Y кодируются только в концевых узлах RQT, в то время как CBF U и V могут кодироваться в неконцевых узлах RQT. Во-вторых, иерархическое кодирование CBF U и V применимо только к некоторым уровням RQT. Например, видеокодер не сигнализирует CBF U и V в узлах, которые соответствуют остаточным пиксельным блокам, превышающим максимально допустимый размер TU. Эти проблемы могут повышать сложность видеокодеров и видеодекодеров.

[0033] В соответствии с технологиями этого раскрытия, видеокодер может генерировать данные, которые представляют RQT для CU. CU может быть больше максимально допустимого размера TU (т.е. пиксельный блок, ассоциированный с CU, может быть больше максимально допустимого размера TU). Максимально допустимый размер TU может быть наибольшим допустимым размером пиксельного блока, ассоциированного с TU. Корневой узел RQT соответствует CU в целом, и концевые узлы RQT соответствуют TU из CU. Корневой узел ассоциирован с CBF для конкретной компоненты цветности, причем CBF для конкретной компоненты цветности указывает то, ассоциированы или нет какие-либо из TU из CU со значимым блоком коэффициентов, который основан на выборках конкретной компоненты цветности. Конкретная компонента цветности может представлять собой компоненту U или компоненту V. Аналогично, видеодекодер может синтаксически анализировать из потока битов, который включает в себя закодированное представление видеоданных, CBF корневого узла RQT CU, при этом пиксельный блок CU больше максимально допустимого размера TU. Если CBF имеет первое значение, видеодекодер может синтаксически анализировать, из потока битов, блок коэффициентов цветности, ассоциированный с концевым узлом RQT. Если CBF имеет второе значение, которое отличается от первого значения, блок коэффициентов цветности, ассоциированный с концевым узлом, не анализируется синтаксически из потока битов.

[0034] Технологии этого раскрытия могут предоставлять несколько преимуществ. Например, если CBF цветности (например, CBF для конкретной компоненты цветности) не сигнализируется в корневом узле, CBF цветности сигнализируется в каждом узле на первом уровне RQT, который соответствует TU, меньшим максимально допустимого размера TU. Напротив, если CBF цветности сигнализируется в корневом узле RQT, видеокодер, возможно, не должен сигнализировать CBF цветности в каждом узле первого уровня RQT, который соответствует TU, меньшим максимально допустимого размера TU, в частности, если CBF в корневом узле имеет второе значение. Таким образом, технологии этого раскрытия могут сокращать число сигнализируемых CBF и, следовательно, повышать эффективность кодирования.

[0035] Прилагаемые чертежи иллюстрируют примеры. Элементы, указываемые посредством ссылок с номерами на прилагаемых чертежах, соответствуют элементам, указываемым посредством аналогичных ссылок с номерами в нижеприведенном описании. В этом раскрытии, элементы, имеющие названия, которые начинаются с слов порядкового числительного (например, "первый", "второй", "третий" и т.д.), не обязательно подразумевают, что элементы имеют конкретный порядок. Наоборот, такие порядковые слова используются просто для того, чтобы означать различные элементы идентичного или аналогичного типа.

[0036] Фиг. 1 является блок-схемой, иллюстрирующей примерную систему 10 кодирования видео, которая может использовать технологии этого раскрытия. Как описано в данном документе, термин "видеокодер" относится обобщенно к видеокодерам и видеодекодерам. В этом раскрытии, термины "кодирование (coding) видео" или "кодирование" (coding) могут относиться обобщенно к кодированию (encoding) видео или декодированию видео.

[0037] Как показано на фиг. 1, система 10 кодирования видео включает в себя устройство-источник 12 и устройство-адресат 14. Устройство-источник 12 генерирует закодированные видеоданные. Соответственно, устройство-источник 12 может упоминаться в качестве устройства кодирования видео или аппарата кодирования видео. Устройство-адресат 14 может декодировать закодированные видеоданные, сгенерированные посредством устройства-источника 12. Соответственно, устройство-адресат 14 может упоминаться в качестве устройства декодирования видео или аппарата декодирования видео. Устройство-источник 12 и устройство-адресат 14 могут быть примерами устройств кодирования видео или аппаратов кодирования видео.

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

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

[0040] В другом примере, канал 16 может включать в себя носитель данных, который хранит закодированные видеоданные, сгенерированные посредством устройства-источника 12. В этом примере, устройство-адресат 14 может осуществлять доступ к носителю данных через доступ к диску или доступ по карте. Носитель данных может включать в себя множество локально доступных носителей данных, таких как Blu-Ray-диски, DVD, CD-ROM, флэш-память или другие подходящие цифровые носители данных для сохранения закодированных видеоданных.

[0041] В дополнительном примере, канал 16 может включать в себя файловый сервер или другое промежуточное устройство хранения, которое хранит закодированные видеоданные, сгенерированные посредством устройства-источника 12. В этом примере, устройство-адресат 14 может осуществлять доступ к закодированным видеоданным, сохраненным на файловом сервере или другом промежуточном устройстве хранения через потоковую передачу или загрузку. Файловый сервер может представлять собой тип сервера, допускающего сохранение закодированных видеоданных и передачу закодированных видеоданных в устройство-адресат 14. Примерные файловые серверы включают в себя веб-серверы (например, для веб-узла), серверы по протоколу передачи файлов (FTP), устройства по протоколу системы хранения данных с подключением по сети (NAS) и локальные накопители на дисках.

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

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

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

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

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

[0047] В некоторых примерах, видеокодер 20 и видеодекодер 30 работают согласно такому стандарту сжатия видео, как ISO/IEC MPEG-4 Visual и ITU-T H.264 (также известный как ISO/IEC MPEG-4 AVC), в том числе и согласно его расширениям масштабируемого кодирования видео (SVC) и кодирования многовидового видео (MVC). В других примерах, видеокодер 20 и видеодекодер 30 могут работать согласно другим стандартам сжатия видео, включающим в себя стандарт высокоэффективного кодирования видео (HEVC), разрабатываемый в настоящее время. Проект предстоящего стандарта HEVC, называемого "HEVC Working Draft 9", описывается в работе авторов Bross и др. "High Efficiency Video Coding (HEVC) text specification draft 9", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 11th Meeting: Шанхай, Китай, октябрь 2012 года, которую, с 7 ноября 2012 года, можно загрузить по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v8.zip, содержимое которой полностью содержится в данном документе по ссылке. Тем не менее, технологии этого раскрытия не ограничены каким-либо конкретным стандартом или технологией кодирования.

[0048] Фиг. 1 является просто примером, и технологии этого раскрытия могут применяться к настройкам кодирования видео (например, кодирования видео или декодирования видео), которые не обязательно включают в себя передачу данных между устройствами кодирования видео и декодирования видео. В других примерах, данные извлекаются из локального запоминающего устройства, передаются в потоковом режиме по сети и т.п. Устройство кодирования видео может кодировать и сохранять данные в запоминающем устройстве, и/или устройство декодирования видео может извлекать и декодировать данные из запоминающего устройства. Во многих примерах, кодирование и декодирование видео выполняется посредством устройств, которые не обмениваются данными друг с другом, а просто кодируют данные в запоминающее устройство и/или извлекают и декодируют данные из запоминающего устройства.

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

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

[0051] Как вкратце упомянуто выше, видеокодер 20 кодирует видеоданные. Видеоданные могут содержать одно или более изображений. Каждое из изображений представляет собой неподвижное изображение, составляющее часть видео. Когда видеокодер 20 кодирует видеоданные, видеокодер 20 может генерировать поток битов. Поток битов может включать в себя последовательность битов, которые формируют закодированное представление видеоданных. Поток битов может включать в себя кодированные изображения и ассоциированные данные. Кодированное изображение представляет собой кодированное представление изображения. Ассоциированные данные могут включать в себя наборы параметров последовательности (SPS), наборы параметров изображения (PPS) и другие синтаксические структуры. SPS может содержать параметры, применимые к нулю или более последовательностям изображений. PPS может содержать параметры, применимые к нулю или более изображениям.

[0052] Чтобы генерировать закодированное представление изображения, видеокодер 20 может сегментировать изображение на сетку блоков дерева кодирования (CTB). В некоторых случаях, CTB может упоминаться в качестве "древовидного блока", "наибольшей единицы кодирования" (LCU) или "единицы дерева кодирования". CTB HEVC могут в широком смысле быть аналогичными макроблокам других стандартов, таких как H.264/AVC. Тем не менее, CTB не обязательно ограничивается конкретным размером и может включать в себя одну или более единиц кодирования (CU).

[0053] Каждый из CTB может быть ассоциирован с различным блоком пикселов одинакового размера в изображении. Каждый пиксел может содержать выборку сигнала яркости (яркости) и также может содержать две выборки сигнала цветности (цветности). Таким образом, каждый CTB может быть ассоциирован с блоком выборок яркости и двумя блоками выборок цветности. Для простоты пояснения, это раскрытие может ссылаться на двумерный массив пикселов в качестве пиксельного блока и может ссылаться на двумерный массив выборок в качестве блока выборок. Видеокодер 20 может использовать сегментацию дерева квадрантов, чтобы сегментировать пиксельный блок, ассоциированный с CTB, на пиксельные блоки, ассоциированные с CU, отсюда и название "блоки дерева кодирования".

[0054] CTB изображения могут быть сгруппированы в один или более слайсов. В некоторых примерах, каждый из слайсов включает в себя целое число CTB. В качестве части кодирования изображения, видеокодер 20 может генерировать закодированные представления каждого слайса изображения (т.е. кодированные слайсы). Чтобы генерировать кодированный слайс, видеокодер 20 может закодировать каждый CTB слайса, чтобы генерировать закодированные представления каждого из CTB слайса (т.е. кодированные CTB).

[0055] Чтобы генерировать кодированный CTB, видеокодер 20 может рекурсивно выполнять сегментацию дерева квадрантов над пиксельным блоком, ассоциированным с CTB, чтобы разделять пиксельный блок на постепенно меньшие пиксельные блоки. Каждый из меньших пиксельных блоков может быть ассоциирован с CU. Сегментированная CU может представлять собой CU, пиксельный блок которой сегментируется на пиксельные блоки, ассоциированные с другими CU. Несегментированная CU может представлять собой CU, пиксельный блок которой не сегментируется на пиксельные блоки, ассоциированные с другими CU.

[0056] Видеокодер 20 может генерировать одну или более единиц прогнозирования (PU) для каждой несегментированной CU. Каждая из PU из CU может быть ассоциирована с различным пиксельным блоком в пиксельном блоке CU. Видеокодер 20 может генерировать прогнозные пиксельные блоки для каждой PU из CU. Прогнозный пиксельный блок PU может представлять собой блок пикселов.

[0057] Видеокодер 20 может использовать внутреннее (интра-) прогнозирование или внешнее (интер-) прогнозирование для того, чтобы генерировать прогнозный пиксельный блок для PU. Если видеокодер 20 использует внутреннее прогнозирование для того, чтобы генерировать прогнозный пиксельный блок PU, видеокодер 20 может генерировать прогнозный пиксельный блок PU на основе декодированных пикселов изображения, ассоциированного с PU. Если видеокодер 20 использует внешнее прогнозирование для того, чтобы генерировать прогнозный пиксельный блок PU, видеокодер 20 может генерировать прогнозный пиксельный блок PU на основе декодированных пикселов одного или более изображений, за исключением изображения, ассоциированного с PU.

[0058] После того, как видеокодер 20 генерирует прогнозированные пиксельные блоки для одной или более PU из CU, видеокодер 20 может генерировать остаточные данные для CU на основе прогнозных пиксельных блоков для PU из CU. Остаточные данные для CU могут указывать разности между выборками в прогнозных пиксельных блоках для PU из CU и исходном пиксельном блоке CU.

[0059] Каждый пиксел в остаточном пиксельном блоке CU может включать в себя выборку Y, выборку U и выборку V. Таким образом, остаточный пиксельный блок CU может содержать блок остаточных выборок Y, который включает в себя выборки Y остаточного пиксельного блока CU, блок остаточных выборок U, который включает в себя выборки U остаточного пиксельного блока CU, и блок остаточных выборок V, который включает в себя выборки V остаточного пиксельного блока CU.

[0060] Кроме того, в качестве части выполнения операции кодирования над несегментированной CU, видеокодер 20 может использовать сегментацию дерева квадрантов, чтобы разлагать CU на одну или более единиц преобразования (TU). Каждая из TU может быть ассоциирована с блоком остаточных выборок Y, блоком остаточных выборок U и блоком остаточных выборок V. Блок остаточных выборок Y, ассоциированный с TU, может представлять собой субблок блока остаточных выборок Y CU. Блок остаточных выборок U може