Наборы параметров кодирования для различных размерностей в кодировании видео

Иллюстрации

Показать все

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

Реферат

[0001] Настоящая заявка испрашивает приоритет предварительной заявки на патент США № 61/513,996, поданной 1 августа 2011, № 61/539,925, поданной 27 сентября 2011, № 61/557,300, поданной 8 ноября 2011, и № 61/563,359, поданной 23 ноября 2011.

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

[0002] Настоящее описание относится к кодированию видео.

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

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

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

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

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

[0006] В целом настоящее описание описывает способы для сигнализации характеристик различных масштабируемых размерностей (характеристик) видео данных. Видео данные могут быть измерены во множестве различных размерностей, таких как пространственное разрешение, скорость передачи (временная) кадра, виды (например, для поддержки воспроизведения трехмерного (3D) видео), глубина в битах цвета, формат дискретизации цветности, качество, или другие такие размерности. В целом масштабируемая размерность видео данных может включать в себя один или более элементов. Например, размерность вида может включать в себя единственный вид для двумерного видео, два вида для стерео видео, или N видов (где N - целое число, больше чем два) для множества видов. В качестве другого примера, временная размерность может включать в себя первый уровень картинок для поддержки базовой скорости передачи кадров (например, 15 кадров в секунду (к/с)), и один или больше более высоких уровней для поддержки более высоких скоростей передачи кадров (например, 30 к/с, 60 к/с, и 120 к/с). Способы настоящего описания в целом касаются сигнализации того, включает ли в себя поток битов, или его суб-поток битов, множественные уровни для конкретной размерности, и если это так, значения характеристик для этой размерности, например, в заголовке блока уровня абстракции сети (NAL), который может включать в себя кодирование количества битов для каждого из значений различных размерностей. Таким образом способы настоящего описания могут разрешить, вместо того, чтобы всегда использовать значения фиксированной длины для каждого элемента синтаксиса, относящегося к одной масштабируемой размерности в заголовке блока NAL, назначать длину каждого элемента синтаксиса на основании информации, которая может изменяться для различной кодированной видео последовательности потока битов, и информации, которая не изменяется в пределах закодированной видео последовательности потока битов.

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

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

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

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

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

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

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

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

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

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

[0016] Фиг. 5A и 5B являются концептуальными диаграммами, иллюстрирующими примеры заголовков блока NAL в соответствии с различными примерами способов настоящего описания.

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

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

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

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

[0020] В целом настоящее описание описывает способы для сигнализации характеристик различных размерностей видео данных. Размерности могут быть упомянуты здесь как размерности кодирования видео, или просто "размерности" для краткости. Видео данные могут быть измерены во многих различных размерностях, таких как пространственное разрешение, (временная) скорость передачи кадра, виды (например, чтобы поддерживать воспроизведение трехмерного (3D) видео), глубина в битах цвета, формат дискретизации цветности, качество, или другие такие размерности. Таким образом, размерности кодирования видео могут также упоминаться “как масштабируемые размерности кодирования видео” или просто “масштабируемые размерности”.

[0021] Масштабируемая размерность видео данных может включать в себя один или более элементов. Например, размерность вида может включать в себя единственный вид для двумерного видео, два вида для стерео видео, или N видов (где N - целое число, больше чем два) для множества видов. В качестве другого примера, временная размерность может включать в себя первый уровень картинок для поддержки базовой скорости передачи кадров (например, 15 кадров в секунду (к/с)), и один или больше более высоких уровней для поддержки более высоких скоростей передачи кадров (например, 30 к/с, 60 к/с, и 120 к/с). Способы настоящего описания в целом касаются сигнализации того, включает ли в себя поток битов, или его суб-поток битов, множественные уровни для конкретной размерности, и если это так, значения характеристик для этой размерности, например, в заголовке блока уровня абстракции сети (NAL).

[0022] Способы настоящего описания могут быть реализованы относительно различных стандартов кодирования аудио, видео или других медиа данных. В целях примера способы настоящего описания описаны относительно способов появляющегося стандарта высокоэффективного кодирования видео (HEVC). Однако, нужно подразумевать, что эти способы также могут быть реализованы для других стандартов кодирования. Недавний проект появляющегося стандарта HEVC, названный HEVC Working Draft 7, или WD7, описан в документе HCTVC-I1003, Bross и др.“, “High Efficiency Video Coding (HEVC) Text Specification Draft 7”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, Switzerland, April 27, 2012 to May 7, 2012, который, на 30 июля 2012, может быть загружен с http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v9.zip. Другие примеры стандартов кодирования видео включают в себя ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 или ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual и ITU-T H.264 (также известный как ISO/IEC MPEG-4 AVC). Стандарты кодирования видео также могут быть расширены, используя различные расширения. Например, ITU-T H.264/AVC включает в себя расширение масштабируемого кодирования видео (SVC) и расширение кодирования видео с множественными видами (MVC).

[0023] Как отмечено выше, способы настоящего описания могут быть использованы для сигнализации характеристик различных масштабируемых размерностей в заголовках блоков NAL. Блок NAL в целом инкапсулирует данные более низкого уровня, такие как данные уровня кодирования видео (VCL) или не-VCL данные. Данные VCL обычно включают в себя закодированные видео данные, которые кодируются видео кодером и декодируются видео декодером. Данные не-VCL могут включать в себя данные сигнализации, которые не являются необходимыми для декодирования, но могут быть полезными для устройства-адресата. Например, не-VCL данные может включать в себя дополнительную сообщения информации расширения (SEI).

[0024] В целях сравнения заголовок блока NAL в расширении MVC в ITU-T H.264/AVC (также упомянутый здесь как “H.264/AVC”) содержит однобайтовый заголовок блока NAL, включающий в себя тип блока NAL и элемент синтаксиса nal_ref_idc. Кроме того, заголовок блока NAL MVC может включать в себя расширение заголовка блока NAL MVC, если типом блока NAL является префиксный блок NAL или нормальный блок NAL MVC. Расширение заголовка блока NAL в MVC содержит следующие элементы синтаксиса: nor_idr_flag, чтобы указывать, принадлежит ли блок NAL картинке IDR/V-IDR, которая может использоваться для точки произвольного доступа закрытой GOP; priority_id, который может использоваться для адаптации единственного прохода; view_id, чтобы указывать идентификатор вида текущего принадлежащего вида; temporal_id, чтобы указывать временный уровень текущего блока NAL; anchor_pic_flag, чтобы указывать, принадлежит ли блок NAL картинке привязки, которая может использоваться для точки произвольного доступа закрытой GOP; и inter_view_flag, чтобы указывать, используется ли для межвидового предсказания для блоков NAL в других видах. Префиксный блок NAL в MVC содержит заголовок блока NAL и его расширение заголовка блока NAL MVC.

[0025] Снова в целях сравнения, заголовок блока NAL в расширении SVC H.264/AVC может включать в себя элементы синтаксиса, которые добавляются в расширение заголовка блока NAL, которое расширяет обычный однобайтовый заголовок блока NAL H.264/AVC до четырех байтов, чтобы описать характеристики блока NAL VCL во множественных размерностях, включая priority_id, temporal_id, dependency_id, и quality_id. В расширении SVC H.264/AVC dependency_id относится к пространственной масштабируемости, или крупно-блочной масштабируемости (CGS), и quality_id указывает масштабируемость отношения сигнала к шуму (SNR)/качество. Priority_id относится к идентификатору приоритета для соответствующего блока NAL, и temporal_id задает временный идентификатор для соответствующего блока NAL (который может быть использован для поддержки временной масштабируемости, например, изменяющейся скорости передачи кадров).

[0026] Снова в целях сравнения, блок NAL VCL в HEVC включает в себя более длинный заголовок блока NAL, чем заголовок блока NAL в H.264/AVC, но первый байт в заголовке блока NAL HEVC WD7 в настоящее время является таким же как заголовок блока NAL в H.264/AVC. Заголовок блока NAL HEVC WD7 также содержит элементы синтаксиса temporal_id и output_flag.

[0027] Как показано выше, различные заголовки блока NAL в H.264/AVC, SVC, MVC и HEVC включают в себя различные наборы элементов синтаксиса для поддержки различных масштабируемых размерностей. HEVC может в конечном счете быть сконфигурированным, чтобы поддерживать множественные различные масштабируемые размерности, такие как размерности расширений SVC и MVC в H.264/AVC. Настоящее описание признает, что различные проблемы могут возникнуть, пытаясь поддерживать различные расширения HEVC для различных масштабируемых размерностей. Например, в различных расширениях могут требоваться различные типы расширений заголовка блока NAL. Обеспечивая разнообразные различные типы расширений заголовка блока NAL, окончательная спецификация HEVC может закончиться тем, что она будет иметь множественные таблицы синтаксиса расширения заголовка блока NAL, которые могут увеличить сложность для устройств, относящихся к обработке видео данных.

[0028] Альтернативно, окончательная спецификация HEVC может определить заголовок блока NAL, имеющий максимальное количество битов, чтобы поддерживать все возможные элементы синтаксиса. Если заголовок блока NAL имеет уникальную структуру фиксированной длины, большое количество элементов синтаксиса может быть установлено равными значениям по умолчанию (например, 0), и только несколько из элементов синтаксиса могут иметь установленные значения, что является излишней тратой битов. Другими словами, заголовок блока NAL, который имеет достаточно битов, чтобы поддерживать все возможные масштабируемые размерности одновременно, может привести к битам, потраченным впустую в служебных расходах, когда некоторые масштабируемые размерности не находятся в использовании.

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

[0030] В другом примере карта заголовка блока NAL может задавать расположение полей в заголовке блока NAL. Таким образом, отображение заголовка блока NAL может использоваться вместо набора параметров диапазона размерности, описанного выше. Отображение заголовка блока NAL может быть включено в набор параметров отображения заголовка блока NAL или в набор параметров последовательности (SPS). Одно отображение заголовка блока NAL может быть применимым ко всему потоку битов. Использование отображения заголовка блока NAL из этого примера может гарантировать, что будущие расширения, которые могут быть использованы для добавления дополнительных масштабируемых размерностей, обратно совместимы с существующими стандартами и существующими расширениями. Способы из этого примера могут также гарантировать, что заголовки блока NAL и SPS могут быть синтаксически разобраны, например, избегая включения расширений заголовка блока NAL в наборе параметров диапазона размерности и SPS. Кроме того, заголовки блока NAL из этого примера могут избежать включения в себя данных, которые эмулируют код начала, как определено в HEVC WD7. Кроме того, эти способы могут использовать в своих интересах некоторые преимущества, ассоциированные с включением идентификатора приоритета (priority_id) в заголовок блока NAL, подобно значению priority_id в SVC и MVC.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0046] CU имеет аналогичную цель, что и макроблок стандарта H.264, за исключением того, что CU не имеет различия в размерах. Например, блок дерева может быть разделен на четыре дочерних узла (также называемых суб-CU), и каждый дочерний узел может в свою очередь быть родительским узлом и быть разделен еще на четыре дочерних узла. Заключительный неразделенный дочерний узел, называемый листовой узел квадродерева, содержит узел кодирования, также называемый листовой CU. Данные синтаксиса, ассоциированные с кодированным потоком битов, могут определить максимальное количество раз, сколь