Адаптивное переключение цветовых пространств, частот цветовой дискретизации и/или битовых глубин

Иллюстрации

Показать все

Группа изобретений относится к технологиям кодирования/декодирования видео. Техническим результатом является повышение эффективности кодирования/декодирования видео. Предложен способ кодирования видео для вычислительного устройства с видеокодером или кодером изображения. Способ содержит этап, на котором кодируют видео в последовательности, в том числе переключают цветовые пространства пространственным и/или временным образом по меньшей мере между некоторыми элементами видео в пределах последовательности во время кодирования, причем цветовые пространства включают в себя цветовое пространство типа RGB и цветовое пространство YCoCg, при этом кодирование содержит предсказание значений отсчетов текущего элемента видео по меньшей мере частично на основе значений отсчетов ранее воссозданного контента. Далее согласно способу выводят закодированные данные в битовом потоке, причем закодированные данные включают в себя один или более сигналов, указывающих, каким образом цветовые пространства переключаются по меньшей мере между некоторыми элементами видео в пределах последовательности. 6 н. и 6 з.п. ф-лы, 18 ил.

Реферат

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

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

[002] За прошлые два десятилетия были приняты различные стандарты видеокодеков, в том числе стандарты ITU-T H.261, H.262 (MPEG 2 или ISO/IEC 13818-2), H.263 и H.264 (MPEG-4 АVC или ISO/IEC 14496-10), стандарты MPEG-1 (ISO/IEC 11172-2) и MPEG-4 Visual (ISO/IEC 14496-2) и стандарт SMPTE 421M (VC-1). Позже был одобрен стандарт H.265/HEVC (ITU-T H.265 или ISO/IEC 23008-2). В настоящее время разрабатываются расширения стандарта H.265/HEVC (например, для масштабируемого кодирования/декодирования видеоинформации, для кодирования/декодирования видеоинформации с более высокой достоверностью с точки зрения глубины отсчета в битах или частоты отсчетов цветности, для контента снимка экрана или для многоракурсного кодирования/декодирования). Стандарт видеокодека обычно определяет варианты для синтаксиса закодированного битового видеопотока, детализируя параметры в битовом потоке, когда конкретные функции использованы при кодировании и декодировании. Во многих случаях стандарт видеокодека также предоставляет подробную информацию об операциях декодирования, которые декодер должен выполнить, чтобы достигнуть соответствующих результатов при декодировании. Кроме стандартов кодека различные собственные форматы кодеков определяют другие варианты для синтаксиса закодированного битового видеопотока и соответствующие операции декодирования.

[003] Источник видеоинформации, такой как камера, вывод анимации, модуль снимка экрана и т.д., обычно обеспечивает видеоинформацию в конкретном цветовом пространстве с цветовыми компонентами видеоинформации, частота дискретизации которых понижена в соответствии с конкретной частотой цветовой дискретизации, и со значениями отсчетов, имеющими конкретную битовую глубину. В общем смысле цветовое пространство (иногда называемое цветовой моделью) представляет собой модель для представления цветов как n значений на физическую позицию, для n>1, где каждое из n значений обеспечивает значение цветового компонента для этой позиции. Например, в цветовом пространстве YUV значение компонента яркости (Y) представляет приблизительную яркость в позиции, и несколько значений компонентов цветности (U и V) представляют цветовые разности в позиции. Или в цветовом пространстве RGB значение компонента красного (R) представляет интенсивность красного цвета, значение компонента зеленого (G) представляет интенсивность зеленого цвета, и значение компонента синего (B) представляет интенсивность синего цвета в позиции. Исторически различные цветовые пространства имеют преимущества для разных применений, таких как отображение на дисплее, печать, широковещательная передача и кодирование/декодирование. Значения отсчетов могут быть преобразованы между цветовыми пространствами с использованием операций преобразования цветового пространства.

[004] Частотой цветовой дискретизации (иногда называемой частотой дискретизации цветности) называется относительное пространственное разрешение между цветовыми компонентами. Например, для частоты цветовой дискретизации 4:4:4 информация для вторичных компонентов (например, компонентов U и V для цветового пространства YUV) имеет такое же пространственное разрешение, как информация для первичного компонента (например, компонента Y для YUV). Для частоты цветовой дискретизации 4:2:2 или 4:2:0 информация для вторичных компонентов дискретизирована с понижением относительно информации для первичного компонента. Формат YUV 4:2:0 обычно используется для кодирования/декодирования. В качестве принципа разработки решение использовать формат YUV 4:2:0 для кодирования/декодирования основывается на понимании того, что в большинстве случаев зрители не замечают больших визуальных различий между видеоизображением, закодированным/декодированным в формате YUV 4:2:0, и видео, кодированным/декодированным в формате YUV 4:4:4. Таким образом, востребованы преимущества для формата YUV 4:2:0, имеющего меньше отсчетов на кадр.

[005] Битовой глубиной называется количество битов на значение отсчета. Обычно битовая глубина составляет 8 битов на отсчет, 10 битов на отсчет и 12 битов на отсчет. В целом наличие большего количества битов на отсчет позволяет более точные градации цветов для видео, но использует больший объем памяти для хранения видео. Наличие меньшего количества битов на отсчет обычно уменьшает скорость цифрового потока за счет уменьшенного качества.

[006] Многие серийно выпускаемые видеокодеры и декодеры поддерживают только формат YUV 4:2:0. Другие серийно выпускаемые кодеры и декодеры (например, для стандарта H.264/AVC или стандарта H.265/HEVC) позволяют кодеру задавать цветовое пространство, частоту цветовой дискретизации и битовую глубину для данной последовательности. Заданные цветовое пространство, частота цветовой дискретизации и битовая глубина используются для всей видеопоследовательности. Эти подходы не обеспечивают достаточную гибкость для системы кодека общего назначения, которая может обрабатывать очень разные виды видеоизображений в пределах одной видеопоследовательности.

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

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

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

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

[010] Например, во время кодирования или декодирования переключение включает в себя изменение между двумя цветовыми пространствами с использованием операций преобразования цветовых пространств. Для операций преобразования цветовых пространств цветовые пространства могут включать в себя по меньшей мере одно цветовое пространство типа YUV и по меньшей мере одно цветовое пространство типа RGB.

[011] Или в качестве другого примера во время кодирования или декодирования переключение включает в себя изменение между двумя цветовыми пространствами с использованием операций переупорядочения цветовых пространств. Для операций переупорядочения цветовых пространств цветовые пространства могут включать в себя несколько цветовых пространств типа RGB.

[012] Или в качестве другого примера во время кодирования или декодирования переключение включает в себя изменение между двумя частотами цветовой дискретизации. Частоты цветовой дискретизации могут включать в себя две или более из 4:4:4, 4:2:2, 4:2:0 и 4:0:0.

[013] Или в качестве другого примера во время кодирования или декодирования переключение включает в себя изменение между двумя битовыми глубинами. Битовые глубины могут включать в себя две или более из 12 битов на отсчет, 10 битов на отсчет и 8 битов на отсчет. Кроме того, разные цветовые компоненты данного элемента видеоинформации могут иметь разные битовые глубины.

[014] Синтаксис и семантика для сигнала (сигналов), которые указывают, каким образом переключаются цветовые пространства, частоты цветовой дискретизации и/или битовые глубины, зависят от реализации. Например, сигнал (сигналы) включает в себя значение флага для данного элемента видеоинформации. Значение флага указывает выбор между двумя вариантами для цветовых пространств, частот цветовой дискретизации или битовых глубин. Или сигнал (сигналы) включает в себя синтаксический элемент для данного элемента видеоинформации. Синтаксический элемент указывает выбор между тремя или более вариантами для цветовых пространств, частот цветовой дискретизации или битовых глубин. Сигнал может быть закодирован с предсказанием, и в этом случае разностное значение для параметра для данного элемента видеоинформации представляет разность между фактическим значением параметра и его предиктором. Предиктор может являться параметром уровня последовательности. Или предиктор может быть основан на одном или более фактических значениях параметра для одного или более предыдущих элементов видеоинформации.

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

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

[017] В некоторых случаях набор значений отсчетов ранее воссозданного контента сохранен в первом формате, и значения отсчетов текущего блока закодированы во втором формате, отличающемся от первого формата. В этом случае как часть предсказания кодер или декодер может (a) преобразовывать набор значений отсчетов ранее воссозданного контента из первого формата во второй формат (например, выполняя преобразование между двумя цветовыми пространствами, преобразование между двумя частотами цветовой дискретизации и/или преобразования между двумя битовыми глубинами), (b) предсказывать значения отсчетов текущего блока с использованием набора преобразованных значений отсчетов ранее воссозданного контента и (c) воссоздавать значения отсчетов текущего блока по меньшей мере частично на основе предсказанных значений отсчетов текущего блока. Или как часть предсказания кодер или декодер может (a) предсказывать значения отсчетов текущего блока с использованием набора значений отсчетов ранее воссозданного контента, (b) преобразовывать предсказанные значения отсчетов текущего блока из первого формата во второй формат и (c) воссоздавать значения отсчетов текущего блока по меньшей мере частично на основе преобразованных предсказанных значений отсчетов текущего блока. После предсказания кодер или декодер может (d) преобразовывать воссозданные значения отсчетов текущего блока из второго формата в первый формат и (e) сохранять преобразованные воссозданные значения отсчетов текущего блока (в первом формате) как часть ранее воссозданного контента.

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

[019] Новшества для адаптивного переключения цветовых пространств, частот цветовой дискретизации и/или битовых глубин могут быть реализованы как часть способа, как часть вычислительного устройства, выполненного с возможностью выполнять способ, или как часть материальных машиночитаемых носителей, хранящих исполняемые компьютером команды для того, чтобы побуждать вычислительное устройство выполнить способ. Различные новшества могут использоваться в комбинации или отдельно. В частности, видеокодер и декодер могут адаптивно переключать только цветовые пространства в пределах видеопоследовательности (с фиксированной частотой цветовой дискретизации и фиксированной битовой глубиной). Или видеокодер и декодер могут адаптивно переключать только частоты цветовой дискретизации в пределах видеопоследовательности (с фиксированным цветовым пространством и фиксированной битовой глубиной). Или видеокодер и декодер могут адаптивно переключить только битовые глубины в пределах видеопоследовательности (с фиксированным цветовым пространством и фиксированной частотой цветовой дискретизации). Или видеокодер и декодер могут адаптивно переключать (1) цветовые пространства и частоты цветовой дискретизации, но не битовые глубины, в пределах видеопоследовательности, (2) цветовые пространства и битовые глубины, но не частоты цветовой дискретизации, в пределах видеопоследовательности или (3) частоты цветовой дискретизации и битовые глубины, но не цветовые пространства, в пределах видеопоследовательности. Или видеокодер и декодер могут адаптивно переключать цветовые пространства, частоты цветовой дискретизации и битовые глубины в пределах видеопоследовательности.

[020] Упомянутые выше и другие объекты, признаки и преимущества изобретения станут более понятны на основе следующего подробного описания, которое ссылается на прилагаемые чертежи.

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

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

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

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

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

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

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

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

[028] Фиг. 8 - схема, иллюстрирующая составную видеоинформацию с естественным видеоизображением и искусственным видеоизображением.

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

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

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

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

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

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

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

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

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

[037] Например, в цветовом пространстве YUV, значение компонента яркости (Y) представляет приблизительную яркость в позиции, и несколько значений компонентов цветности (U и V) представляют цветовые разности в позиции. Точные определения значений цветовой разности (и операций преобразования в/из цветового пространства YUV в другое цветовое пространство, такое как RGB) зависят от реализации. Как правило, в целях кодирования и декодирования компонент Y является первичным компонентом, и компоненты U и V являются вторичными компонентами. В целом, используемый здесь термин "цветовое пространство типа YUV" указывает на любое цветовое пространство с компонентом яркости и одним или более компонентов цветности, в том числе Y"UV, YIQ, Y'IQ и YDbDr, а также такие вариации, как YCbCr и YCoCg.

[038] Количественные показатели сигналов компонентов, которые используются, могут быть отрегулированы через применение нелинейной характеристической функции преобразования (известной как ʺпредварительная гамма-компенсацияʺ и часто обозначаемой при помощи символа "штрих", хотя символ "штрих" часто опускается для типографского удобства). Или количественные показатели сигналов компонентов могут находиться в домене, который имеет линейное соотношение со световой амплитудой. Сигналы компонентов яркости и цветности могут быть хорошо выровнены с восприятием яркости и цвета для зрительной системы человека, или сигналы компонентов яркости и цветности могут несколько отклониться от количественных показателей (например, как в вариации YCoCg, в которой применяются формулы, которые упрощают вычисление значений цветовых компонентов).

[039] В качестве другого примера, в цветовом пространстве RGB значение компонента красного (R) представляет интенсивность красного цвета, значение компонента зеленого (G) представляет интенсивность зеленого цвета, и значение компонента синего (B) представляет интенсивность синего цвета в позиции. Используемы здесь термин "цветового пространство типа RGB" указывает на цветовое пространство с цветовыми компонентами R, G и В в любом порядке. Примеры включают в себя цветовые пространства RGB, BGR и GBR, которые отличаются с точки зрения первичного компонента в целях кодирования и декодирования. Первичный компонент обозначен первой буквой цветового пространства (например, R для RGB).

[040] Частотой цветовой дискретизации (иногда называемой частотой дискретизации цветности) называется относительное пространственное разрешение между цветовыми компонентами. Например, для частоты цветовой дискретизации 4:4:4 информация для вторичных компонентов (например, компонентов U и V для YUV) имеет такое же пространственное разрешение, как информация для первичного компонента (например, компонента Y для YUV). Для частоты цветовой дискретизации 4:2:2 или 4:2:0 информация для вторичных компонентов дискретизирована с понижением относительно информации для первичного компонента. Формат YUV 4:2:0 является форматом, который имеет пониженную частоту дискретизации информации цветности по сравнению с форматом YUV 4:4:4 таким образом, что разрешение цветности вдвое меньше, чем разрешение яркости, и по горизонтали, и по вертикали. Формат YUV 4:2:2 является форматом, который имеет пониженную частоту дискретизации информации цветности по горизонтали по сравнению с форматом YUV 4:4:4 таким образом, что разрешение цветности вдвое меньше чем, разрешение яркости по горизонтали. Другими примерами частот цветовой дискретизации являются 4:1:1 (вторичные компоненты имеют в четыре раза меньшее разрешение по горизонтали) и 4:0:0 (вторичные компоненты отброшены). Понижение частоты цветовой дискретизации обычно применяется к цветовым пространствам типа YUV. Цветовые пространства типа RGB обычно имеют частоту цветовой дискретизации 4:4:4, но могут иметь другую частоту цветовой дискретизации в соответствии с тем, для каких вторичных цветовых компонентов понижена частота дискретизации.

[041] Хотя формат YUV 4:2:0 традиционно используется для кодирования и декодирования видеоинформации, имеются некоторые варианты использования, для которых видеоинформация имеет более богатую цветовую информацию, и может быть оправдана более достоверная цветопередача. В таких вариантах использования различия между форматами YUV 4:4:4 и YUV 4:2:0 дискретизации цветности более просто воспринимаются зрителями. Например, для кодирования/декодирования текстового контента экрана компьютера, мультипликационных видеоизображений с искусственными резкими границами или некоторых признаков видеоизображений в более общем случае (таких как прокрутка титров и графики с резкими границами или видеоизображения с информацией, сосредоточенной в каналах цветности), формат 4:4:4 может быть предпочтителен по сравнению с форматом 4:2:0.

[042] Битовой глубиной называется количество битов на значение отсчета. Обычно битовая глубина составляет 8 битов на отсчет, 10 битов на отсчет и 12 битов на отсчет. Другие возможные битовые глубины включают в себя 4 бита на отсчет и 16 битов на отсчет.

[043] Хотя описанные здесь операции находятся в местах, описанных как выполняемые видеокодером или видеодекодером, во многих случаях операции могут быть выполнены инструментом обработки мультимедиа другого типа (например, кодером или декодером изображений). Например, операции могут быть выполнены для таких применений, как кодирование/декодирование статических изображений, кодирования/декодирования контента медицинского сканирования, кодирование/декодирование контента многоспектральных изображений, и т.д.

[044] Некоторые описанные здесь новшества, проиллюстрированы со ссылкой на синтаксические элементы и операции, заданные для стандарта H.265/HEVC. Например, делается ссылка на предварительную версию JCTVC-P1005 стандарта H.265/HEVC - "High Efficiency Video Coding (HEVC) Range Extensions Text Specification: Draft 6", JCTVC-P1005_v1, февраль 2014 года. Описанные здесь новшества также могут быть реализованы для других стандартов или форматов.

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

I. Иллюстративные вычислительные системы.

[046] Фиг. 1 иллюстрирует обобщенный пример подходящей вычислительной системы (100), в которой могут быть реализованы несколько из описанных новшеств. Не предполагается, что вычислительная система (100) предлагает какие-либо ограничения относительно объема использования или функциональности, поскольку новшества могут быть реализованы в разнообразных вычислительных системах специального или общего назначения.

[047] Со ссылкой на фиг. 1, вычислительная система (100) включает в себя один или более процессоров (110, 115) и память (120, 125). Процессоры (110, 115) исполняют исполняемые компьютером команды. Процессор может представлять собой центральный процессор общего назначения (ЦП; CPU), процессор в специализированной интегральной схеме (СИС; ASIC) или процессор любого другого типа. В многопроцессорной системе несколько процессоров исполняют исполняемые компьютером команды для увеличения вычислительной мощности. Например, фиг. 1 показывает центральный процессор (110), а также графический процессор или сопроцессор (115). Материальная память (120, 125) может представлять собой энергозависимую память (например, регистры, кэш, оперативное запоминающее устройство (ОЗУ; RAM)), энергонезависимую память (например, постоянное запоминающее устройство (ПЗУ; ROM), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ; EEPROM), флеш-память и т.д.) или некоторую комбинацию из них двух, доступную посредством процессора (процессоров). Память (120, 125) хранит программное обеспечение (180), реализующее одно или более новшеств для адаптивного переключения цветовых пространств, частот цветовой дискретизации и/или битовых глубин в форме исполняемых компьютером команд, подходящих для выполнения процессором (процессорами).

[048] Вычислительная система может иметь дополнительные функции. Например, вычислительная система (100) включает в себя хранилище (140), одно или более устройств (150) ввода, одно или более устройств (160) вывода и одно или более соединений (170) связи. Механизм взаимосвязи (не показан), такой как шина, контроллер или сеть, взаимно связывает компоненты вычислительной системы (100). Как правило, программное обеспечение операционной системы (не показано) обеспечивает операционную среду для другого программного обеспечения, выполняющегося в вычислительной системе (100), и координирует действия компонентов вычислительной системы (100).

[049] Материальное хранилище (140) может являться сменным или несменным и включает в себя магнитные диски, магнитные ленты или кассеты, компакт-диски (CD-ROM), цифровые универсальные диски (DVD) или любой другой носитель, который может использоваться для хранения информации и к которому можно осуществить доступ в пределах вычислительной системы (100). Хранилище (140) хранит команды для программного обеспечения (180), реализующего одно или более новшеств для адаптивного переключения цветовых пространств, частот цветовой дискретизации и/или битовых глубин.

[050] Устройство (устройства) (150) ввода может представлять собой устройство сенсорного ввода, такое как клавиатура, мышь, перо или шаровой манипулятор, устройство речевого ввода, устройство сканирования или другое устройство, которое обеспечивает ввод в вычислительную систему (100). Для видеоинформации устройством (устройствами) (150) ввода может являться камера, видеокарта, карта ТВ-тюнера, модуль снимка экрана или аналогичное устройство, которое принимает ввод видеоинформации в аналоговой или цифровой форме, или компакт-диск (CD-ROM или CD-RW), который считывает ввод видеоинформации в вычислительную систему (100). Устройство (устройства) (160) вывода может представлять собой дисплей, принтер, динамик, устройство для записи компакт-дисков или другое устройство, которое обеспечивает вывод из вычислительной системы (100).

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

[052] Новшества могут быть описаны в общем контексте машиночитаемых носителей. Машиночитаемые носители представляют собой любые доступные материальные носители, к которым можно осуществить доступ в пределах вычислительной среды. В качестве примера, но без ограничения, вычислительной системы (100) машиночитаемые носители включают в себя память (120, 125), хранилище (140) и комбинации любых из упомянутых выше.

[053] Новшества могут быть описаны в общем контексте исполняемых компьютером команд, таких как включенные в программные модули, исполняемые в вычислительной системе на целевом реальном или виртуальном процессоре. Обычно программные модули включают в себя подпрограммы, программы, библиотеки, объекты, классы, компоненты, структуры данных и т.д. которые выполняют отдельные задачи или реализуют отдельные абстрактные типы данных. Функциональность программных модулей может быть объединена или разбита между программными модулями по желанию в различных вариантах осуществления. Исполняемые компьютером команды для программных модулей могут исполняться в пределах системы локальных или распределенных вычислений.

[054] Термины "система" и "устройство" используются здесь взаимозаменяемым образом. Если контекст ясно не указывает иначе, никакой термин не подразумевает ограничения на тип вычислительной системы или вычислительного устройства. В целом вычислительная система или вычислительное устройство могут быть локальными или распределенными и могут включать в себя любую комбинацию аппаратных средств специального назначения и/или аппаратных средств общего назначения с программным обеспечением, реализующим описанную здесь функциональность.

[055] Раскрытые способы также могут быть реализованы с использованием специализированных вычислительных аппаратных средств, выполненных с возможностью выполнять любой из раскрытых способов. Например, раскрытые способы могут быть реализованы посредством интегральной схемы (например, специализированной интегральной схемы (СИС; ASIC) (такой как процессор цифровых сигналов (DSP) на СИС), графический процессор (GPU) или программируемое логическое устройство (PLD), такое как программируемая пользователем вентильная матрица (FPGA)), специально разработанной или сконфигурированной для реализации любого из раскрытых способов.

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

II. Иллюстративные сетевые среды.

[057] Фиг. 2a и 2b показывают иллюстративные сетевые среды (201, 202), которые включают в себя видеокодеры (220) и видеодекодеры (270). Кодеры (220) и декодеры (270) соединены по сети (250) с использованием подходящего протокола связи. Сеть (250) может включать в себя Интернет или другую компьютерную сеть.

[058] В сетевой среде (201), показанной на фиг. 2a, каждый инструмент (210) связи в реальном времени (RTC) включает в себя и кодер (220), и декодер (270) для двунаправленной связи. Данный кодер (220) может произвести вывод, совместимый с вариацией или расширением стандарта H.265/HEVC, стандарта SMPTE 421M, стандарта ISO-IEC 14496-10 (также известного как H.264 или AVC), другого стандарта или собственного формата, и соответствующий декодер (270) принимает закодированные данные от кодера (220). Двунаправленная связь может представлять собой часть видеоконференции, видеотелефонный вызов или другой сценарий связи с двумя сторонами или с несколькими сторонами. Хотя сетевая среда (201) на фиг. 2a включает в себя два инструмента (210) связи в реальном времени, сетевая среда (201) может вместо этого включать в себя три или более инструментов (210) связи в реальном времени, которые участвуют в связи с несколькими сторонами.

[059] Инструмент (210) связи в реальном времени управляет кодированием посредством кодера (220). Фиг. 3 показывает иллюстративную систему (300) кодера, которая может быть включена в инструмент (210) связи в реальном времени (210). В качестве альтернативы, инструмент (210) связи в реальном времени использует другую систему кодера. Инструмент (210) связи в реальном времени (210) также управляет декодированием посредством декодера (270). Фиг. 4 показывает иллюстративную систему (400) декодера, которая может быть включена в инструмент (210) связи в реальном времени. В качестве альтернативы, инструмент (210) связи в реальном времени использует другую систему декодера.

[060] В сетевой среде (202), показанной на фиг. 2b, инструмент (212) кодирования включает в себя кодер (220), который кодирует видеоизображение для доставки нескольким инструментам (214) воспроизведения, которые включают в себя декодеры (270). Однонаправленная связь может быть обеспечена для системы видеонаблюдения, системы контроля веб-камеры, модуля снимка экрана, презентации на конференции с использованием удаленного рабочего стола или другого сценария, в котором видеоинформация кодируется и отправляется из одного местоположения в одного или более других местоположений. Хотя сетевая среда (202) на фиг. 2b включает в себя два инструмента (214) воспроизведения, сетевая среда (202) может включать в себя больше или меньше инструментов (214) воспроизведения. В целом инструмент (214) воспроизведения взаимодействует с инструментом (212) кодирования для определения видеопотока для приема инструментом (214) воспроизведения. Инструмент (214) воспроизведения принимает поток, буферизует принятые закодированные данные