СИСТЕМА И СПОСОБЫ ДЛЯ ФОРМИРОВАНИЯ СЦЕНОВЫХ СТАБИЛИЗИРОВАННЫХ МЕТАДАННЫХ
SYSTEM AND METHODS OF FORMING SCENE STABILIZED METADATA

Перекрестная ссылка на родственную заявку
[0001] Данная заявка притязает на приоритет предварительной заявки на патент (США) номер 61/859956, поданной 30 июля 2013 года, которая настоящим полностью содержится в данном документе по ссылке.
Область техники, к которой относится изобретение
[0002] Настоящее изобретение относится к созданию и рендерингу видеоконтента и, в частности, к системам и способам для формирования ассоциированных метаданных для улучшения рендеринга видеоданных на целевых дисплеях.
Уровень техники
[0003] Метаданные в видеофайле типично формируются на покадровой основе или для ключевых кадров. Тем не менее, во многих случаях, возможно то, что воспроизведение видео имеет нежелательные артефакты для зрителя видеоконтента. Эти артефакты могут быть заметными между сценами, например для сцен, которые могут иметь определенные общие признаки. Например, камера может захватывать видео одного актера, который перемещается в пространстве и времени, например, в один момент в слабо освещенном помещении и перемещается в освещенное солнцем пространство вне помещения.
[0004] Такое изменение в окружающих условиях может вызывать заметные артефакты для зрителя (например, изменение цветовых тонов лица вышеуказанного актера). Это может быть особенно актуальным, когда видеоконтент должен отображаться на целевом дисплее, который может иметь ограничения в отношении своей производительности, например, для яркости, рендеринга палитры и т.п. Для создателя контента (к примеру, режиссера или специалиста по компоновке видео) может быть возможным уменьшать такие артефакты посредством формирования сцено-ориентированных метаданных.
Сущность изобретения
[0005] В данном документе раскрыты способы и системы для формирования и применения сценовых стабильных метаданных для требуемого потока видеоданных раскрыты. Предусмотрены системы и/или способы, в которых поток видеоданных разделяется или сегментируется на сцены, и первый набор метаданных может формироваться для данной сцены видеоданных. Первый набор метаданных может представлять собой любые известные метаданные в отношении требуемой функции видеоконтента (например, яркости, цветовой палитры и т.д.). Первый набор метаданных может формироваться на покадровой основе. В одном варианте осуществления, могут формироваться сценовые стабильные метаданные, которые могут отличаться от первого набора метаданных для сцены. Сценовые стабильные метаданные могут формироваться посредством отслеживания требуемого признака со сценой и могут использоваться для того, чтобы поддерживать требуемый признак в пределах приемлемого диапазона значений. Это может помогать исключать заметные и, возможно, нежелательные визуальные артефакты при рендеринге видеоданных.
[0006] В одном варианте осуществления, способ для использования сценовых стабильных метаданных в потоке видеоданных, при этом способ содержит: разделение потока видеоданных на набор сцен; формирование первых метаданных, ассоциированных с первой сценой в наборе сцен; формирование сценовых стабильных метаданных; и ассоциирование сценовых стабильных метаданных с упомянутой первой сценой.
[0007] В другом варианте осуществления, система для использования сценовых стабильных метаданных в видеоданные, причем упомянутая система содержит: процессор; запоминающее устройство, ассоциированное с упомянутым процессором, причем упомянутое запоминающее устройство дополнительно содержит процессорночитаемые инструкции, так что, когда упомянутый процессор считывает процессорночитаемые инструкции, оно инструктирует процессору выполнять следующие инструкции: прием потоков видеоданных, причем упомянутый поток видеоданных содержит набор сцен; для набора сцен, формирование первых метаданных, ассоциированных с набором сцен; формирование набора сценовых стабильных метаданных; и, по меньшей мере, для одной сцены, ассоциирование сценовых стабильных метаданных с упомянутой, по меньшей мере, одной сценой.
[0008] В еще одном другом варианте осуществления, видеопроцессор, содержащий: процессор; запоминающее устройство, ассоциированное с упомянутым процессором, причем упомянутое запоминающее устройство дополнительно содержит процессорночитаемые инструкции, так что, когда упомянутый процессор считывает процессорночитаемые инструкции, оно инструктирует процессору выполнять следующие инструкции: прием входящего потока видеоданных, причем упомянутый поток видеоданных содержит набор сцен; прием первого набора метаданных, ассоциированных, по меньшей мере, с одной сценой; прием индикатора того, что быстрое переключение сцены составляет фактически следующий кадр входящего потока видеоданных; прием стабильных сценовых метаданных; и ассоциирование сценовых стабильных метаданных с фактически следующим кадром входящего потока видеоданных.
[0009] Другие признаки и преимущества настоящей системы представлены ниже в подробном описании при изучении в связи с чертежами, представленными в этой заявке.
Краткое описание чертежей
[0010] Примерные варианты осуществления проиллюстрированы на ссылочных чертежах. Подразумевается, что варианты осуществления и чертежи, раскрытые в данном документе, должны считаться иллюстративными, а не ограничивающими.
Фиг. 1 иллюстрирует один вариант осуществления окружения и архитектуры видеоконвейерной системы, осуществленной в соответствии с принципами настоящей заявки.
Фиг. 2A и 2B иллюстрируют два варианта осуществления блок-схем последовательности операций способа для видеоконвейера, которые могут быть подходящими для целей настоящей заявки.
Фиг. 3 иллюстрирует один вариант осуществления высокоуровневой блок-схемы последовательности операций способа видеообработки, которая может возникать при управлении отображением примерного целевого дисплея.
Фиг. 4 является одним вариантом осуществления видеообработки для формирования и ассоциирования сценовых стабильных метаданных для видеофайла.
Фиг. 5 является одним вариантом осуществления блок-схемы последовательности операций способа, которая включает заблаговременное уведомление относительно смен сцен в видеоконвейере.
Фиг. 6 иллюстрирует один примерный видеофайл, сегментированный на сцены, и один кадр в сцене, содержащий индикатор относительно смены сцены.
Подробное описание изобретения
[0011] При использовании в данной заявке термины "компонент", "система", "интерфейс" и т.п. означают связанный с компьютером объект: аппаратные средства, программное обеспечение (к примеру, в ходе выполнения) и/или микропрограммное обеспечение. Например, компонент может представлять собой процесс, работающий на процессоре, процессор, объект, исполняемый фрагмент, программу и/или компьютер. В качестве иллюстрации, как приложение, запущенное на сервере, так и сервер может представлять собой компонент. Один или более компонентов могут постоянно размещаться внутри процесса, и компонент может быть локализован на компьютере и/или распределен между двумя и более компьютерами. Компонент также может иметь намерение означать связанный со связью объект, аппаратные средства, программное обеспечение (например, в ходе выполнения) и/или микропрограммное обеспечение, и дополнительно может содержать достаточные проводные или беспроводные аппаратные средства, с тем чтобы влиять на связь.
[0012] Во всем нижеприведенном описании изложены конкретные подробности, чтобы предоставлять более полное понимание для специалистов в данной области техники. Тем не менее, известные элементы могут не показываться или не описываться подробно, с тем чтобы не допускать чрезмерного затруднения понимания раскрытия сущности. Соответственно, описание и чертежи должны рассматриваться в иллюстративном, а не ограничивающем смысле.
Введение
[0013] Чтобы обеспечивать временную стабильность (например, отсутствие мерцания, пульсации, перехода и т.д.) и уменьшать потенциально неприятный визуальный артефакт при воспроизведении видео на целевом дисплее, может быть желательным, чтобы метаданные, ассоциированные с видеоданными, в общем, были стабильными во времени. В нескольких вариантах осуществления, это может достигаться посредством обеспечения стабильности для метаданных в течение длительности сцены. Таким метаданным может разрешаться изменяться при каждом быстром переключении сцены. В таком случае, изменения метаданных для адаптации к контенту могут не быть заметными для зрителя.
[0014] В качестве только одного примера, может быть возможным оценивать метаданные видеоданных/данных изображений на покадровой основе непосредственно перед отображением. Тем не менее, это может приводить к неприятным и заметным изменениям во внешнем представлении сцены, возможно, в середине сцены.
[0015] В нескольких вариантах осуществления настоящей заявки, в данном документе описываются системы и способы для формирования или иного создания метаданных, которые связаны и/или ассоциированы с видеоданными. Во многих вариантах осуществления настоящей заявки, ассоциированные метаданные могут формироваться на посценовой основе, как подробнее описано в данном документе. Такие метаданные могут быть созданы в начальной части потока видеоданных либо в любой другой подходящей части потока видеоданных. Видеоданные могут передаваться и/или отправляться пользователю/потребителю/зрителю видеоданных независимо от того, находится он в кинотеатре, домашнем окружении просмотра, видеоконференции или везде, где видеоданные должны просматриваться и/или использоваться.
[0016] Множество формирующих метаданные и/или потребляющих метаданные технологий описываются в нижеприведенных находящихся в совместном владении патентах и/или заявках на патент:
[0017] (1) Заявка на патент (США) 20130076763 автора Messmer, опубликованная 28 марта 2013 года и озаглавленная "TONE AND GAMUT MAPPING METHODS AND APPARATUS";
[0018] (2) Заявка на патент (США) 20130162666 авторов Messmer и др., опубликованная 27 июня 2013 года и озаглавленная "DATA TRANSMISSION USING OUT-OF-GAMUT COLOR COORDINATES";
[0019] (3) Заявка на патент (США) 20130141647 авторов Longhurst и др., опубликованная 6 июня 2013 года и озаглавленная "METADATA FOR USE IN COLOR GRADING"; и
[0020] (4) Заявка на патент (США) 20120315011 авторов Messmer и др., опубликованная 13 декабря 2012 года и озаглавленная "VIDEO DELIVERY AND CONTROL BY OVERWRITING VIDEO DATA"
- все из которых полностью содержатся в данном документе по ссылке.
[0021] Фиг. 1, 2A и 2B иллюстрируют несколько общих окружающих систем (100, 200, 206, соответственно), в которых могут приспосабливаться системы и/или способы настоящей заявки. Эти системы представляют возможные сквозные видеоконвейеры для формирования/передачи/просмотра видео, например, в которых видео может захватываться, посценовые метаданные извлекаться и помещаться в видеопоток для распространения и отправляться на целевой дисплей для просмотра.
[0022] На фиг. 1, система 100 (или ее части) может быть выполнена с возможностью осуществлять один или более способов, описанных в данном документе. Компоненты системы 100 могут реализовываться как программное обеспечение, микропрограммное обеспечение, аппаратные средства и/или комбинация вышеозначенного. Система 100 включает в себя подсистему 102 видеозахвата, подсистему 103 компоновки видео и подсистему 104 отображения. Поток видеоданных 123 (более конкретно, 123-1, 123-2, 123-3 для различных точек в конвейере видеопотока) формируется посредством подсистемы 102 видеозахвата и доставляется в подсистему 103 компоновки видео для обработки и монтажа. Видеоизображения могут отображаться и просматриваться на эталонном дисплее 111 подсистемы 103 компоновки видео в ходе монтажа видеоданных 123. Смонтированные видеоданные 123 доставляются в подсистему 104 отображения (по среде 125 распространения посредством кодера 127А и декодера 127B) для последующей обработки и отображения. Каждая из подсистем 102, 103 и 104 (и кодер 127А) может быть выполнена с возможностью кодировать метаданные 225 в видеоданных 123. Нижележащие подсистемы могут быть выполнены с возможностью принимать видеоданные 123 из вышележащего устройства и декодировать метаданные 225, которые встроены в них. Метаданные 225 могут использоваться посредством нижележащих подсистем (например, подсистем 103 и 104) для того, чтобы направлять обработку и/или отображение видеоданных 123. Метаданные 225 могут использоваться посредством подсистемы 104 отображения вместе с параметрами 120 определения характеристик отображения для того, чтобы управлять и/или направлять воспроизведение видео на дисплее 118 подсистемы 104 отображения.
[0023] Как видно на фиг. 1, подсистемы 102, 103 и 104 могут содержать процессор 106, 108 и 116, соответственно, и запоминающее устройство 107, 109 и 117 программ, доступное для соответствующих процессоров. Каждый процессор (описанный здесь и в других разделах) может содержать центральный процессор (CPU), один или более микропроцессоров, одну или более программируемых пользователем вентильных матриц (FPGA) либо любую комбинацию вышеозначенного или любой другой подходящий процессор(ы), содержащий аппаратные средства и/или программное обеспечение, допускающие такое функционирование, как описано в данном документе. В каждой подсистеме процессор выполняет инструкции, предоставленные посредством программного обеспечения, сохраненного в запоминающем устройстве программ. Программное обеспечение может включать в себя процедуры, чтобы выполнять этапы формирования метаданных, кодирования, декодирования и обработки, описанные в данном документе, такие как, например, процедуры, которые:
(1) формируют метаданные 225 или принимают параметры для метаданных 225;
(2) кодируют метаданные 225 в видеоданных 123 до того, как такие видеоданные передаются в нижележащее устройство;
(3) декодируют метаданные 225 из видеоданных 123, принимаемых из вышележащего устройства;
(4) обрабатывают и применяют метаданные 225, чтобы направлять обработку и/или отображение видеоданных;
(5) выбирают способ для кодирования метаданных 225 на основе данных изображений и/или видеоданных 123;
(6) и/или т.п.
[0024] Система 100 может включать в себя репозиторий 110, доступный для подсистем 102, 103 и 104. Репозиторий 110 может включать в себя библиотеку определений 112 метаданных (например, которая информирует кодеры и декодеры метаданных в отношении того, как формировать и/или считывать метаданные) и список зарезервированных слов 114 (например, защищенных пиксельных значений или зарезервированных слов метаданных). К библиотеке определений 112 метаданных может осуществляться доступ посредством подсистем 102, 103 и 104 при формировании, кодировании и/или обработке метаданных. При кодировании или декодировании метаданных 225 зарезервированные слова 114 могут сравниваться с кодированными/декодированными битами метаданных, чтобы идентифицировать последовательности защитных битов, которые следует вставлять (или которые вставлены) в поток метаданных, чтобы не допускать передачу зарезервированного слова. Хотя общий репозиторий 110 показан в проиллюстрированном варианте осуществления по фиг. 1, в других вариантах осуществления каждая из подсистем 102, 103 и 104 может включать локальный репозиторий 110, сохраненный на носителе хранения данных, доступном для этой подсистемы.
[0025] Фиг. 2A является блок-схемой последовательности операций способа, показывающей поток данных через конвейер 200 доставки видео согласно конкретному варианту осуществления. Конвейер 200 доставки видео включает каскады, аналогичные каскадам, проиллюстрированным в конвейере 100 доставки видео по фиг. 1. В одном или более каскадов конвейера 200 доставки видео, метаданные 225 могут формироваться и встраиваться в поток видеоданных 123 для использования в последующем каскаде. Метаданные 225 передаются вместе с видеоданными 123 через конвейер 200 доставки видео, чтобы направлять нижележащие устройства в обработке видеоданных и/или направлять воспроизведение видео в подсистеме отображения на этапе 210. Видеоданные 123, включающие в себя встраиваемые метаданные 225, могут доставляться в подсистему отображения на этапе 206 с использованием систем, устройств и способов, подходящих для типа доставки видеоконтента (например, телевизионной широковещательной передачи по спутниковым, кабельным сетям или сетям высокой четкости; потоковой передачи мультимедиа по IP- или беспроводным сетям; воспроизведения с DVD или других носителей хранения данных и т.д.).
[0026] В варианте осуществления по фиг. 2A, метаданные 225А камеры могут формироваться и встраиваться в видеоданные 123-1 на этапе 202. Метаданные 225А камеры могут формироваться на основе настроек камеры и окружения захвата видеокадров. Метаданные 225А камеры могут содержать, например, параметры камеры, которые предоставляют моментальный снимок настроек камеры в ходе захвата видеокадров. Такие параметры камеры могут включать в себя апертуру (деления диафрагмы объектива), линзу, скорость срабатывания затвора, чувствительность (диапазоны чувствительности по стандарту ISO) и т.п. Эти параметры камеры могут использоваться для того, чтобы направлять следующие этапы в конвейере 200 доставки видео, такие как настройки цвета (например, цветовая синхронизация) в ходе компоновочного монтажа на этапе 204 или конфигурирования дисплея на этапе 210.
[0027] На этапе 204, компоновочные метаданные 225B формируются и встраиваются в видеоданные 123-2. Компоновочные метаданные 225B могут включать в себя: метаданные 225B1 эталонного дисплея и окружения и метаданные 225B2 определения характеристик исходного видеоконтента. Компоновочные метаданные 225B могут использоваться для того, чтобы направлять следующие этапы в конвейере 200 доставки видео, такие как конфигурирование дисплея на этапе 210.
[0028] Метаданные 225B1 эталонного дисплея и окружения могут описывать конфигурацию эталонного дисплея и студийное окружение или окружение просмотра, используемое в компоновочном монтаже на этапе 204. Например, относительно эталонного дисплея, используемого для того, чтобы отображать видеоданные 123 в ходе компоновочного монтажа на этапе 204, метаданные 225B1 эталонного дисплея и окружения могут включать в себя такие параметры, как:
(1) преобразование трехмерной цветовой палитры, описывающее тональные границы и границы палитры эталонного дисплея при детализированном разрешении;
(2) сокращенный набор параметров, задающих тональные границы и границы палитры эталонного дисплея (которые могут использоваться для того, чтобы оценивать преобразование трехмерной цветовой палитры);
(3) системные параметры тональной характеристики, описывающие тональную характеристику эталонного дисплея для каждого канала сигнала цветности;
(4) размер экрана
(5) и/или т.п.
[0029] Метаданные 225B1 эталонного дисплея и окружения также могут включать в себя параметры, описывающие студийное окружение, в котором видеоконтент подвергнут цветовой синхронизации или скомпонован на эталонном дисплее в ходе компоновочного монтажа на этапе 204. Такие параметры могут включать в себя окружающую яркость и окружающую цветовую температуру.
[0030] Метаданные 225B2 определения характеристик исходного видеоконтента могут описывать компоновочный смонтированный видеоконтент, включающий в себя информацию, которая может идентифицировать или предоставлять:
(1) тональное преобразование (например, настраиваемые параметры или кривые тонального преобразования, которые могут использоваться для того, чтобы направлять тональное расширение на дисплее); и преобразование палитры (например, настраиваемые параметры преобразования палитры, которые могут использоваться для того, чтобы направлять расширение палитры на дисплее);
(2) уровень минимального уровня черного, считающийся важным в сцене (например, тень под автомобилем);
(3) уровень, соответствующий наиболее значимой части сцены (например, лицо актера);
(4) уровень максимального уровня белого, считающийся важным в сцене (например, центр лампочки);
(5) наиболее хроматический цвет в сцене (например, неоновый свет и т.д.);
(6) карту местоположений источников света в изображении либо отражательных или излучательных объектов в изображении;
(7) палитру контента видеоисточника;
(8) области изображения, которые целенаправленно подвергаются цветовой синхронизации из палитры эталонного дисплея;
(9) защищенные цвета, которые не должны быть изменены в ходе обработки перед отображением посредством видеопроцессора или в ходе конфигурирования дисплея;
(10) гистограмму изображения, характеризующую изображение с точки зрения яркости или палитры (например, эта информация может использоваться посредством нижележащих устройств для того, чтобы определять усредненную яркость, чтобы уточнять тональное преобразование и преобразование палитры);
(11) флаг смены или сброса сцены, чтобы предупреждать нижележащие устройства в отношении того, что любая статистика или гистерезис из предыдущих видеокадров более не является допустимой;
(12) карту движения, характеризующую видеоконтент, чтобы идентифицировать объекты в движении, которая может использоваться посредством нижележащих устройств в комбинации с картой местоположений источников света для того, чтобы направлять тональное преобразование и преобразование палитры;
(13) индикатор относительно источника контента после цветовой синхронизации (например, непосредственно из камеры или компоновочного монтажа);
(14) творческие намеченные настройки режиссера, которые могут использоваться для того, чтобы управлять нижележащими устройствами, такими как декодер/телевизионный приемник или другой дисплей. Например, такие настройки могут включать в себя: управление режимом отображения, предоставляющее возможность управлять дисплеем таким образом, что он работает в конкретном режиме (например, в ярком, кинематографическом, стандартном, профессиональном и т.д.); тип контента (например, анимация, драма, спортивные состязания, игры и т.д.), который может использоваться для того, чтобы определять надлежащее преобразование палитры или тональное преобразование и т.п.;
(15) и/или т.п.
[0031] Видеоданные 123-2 доставляются в подсистему отображения на этапе 206. Как видно на фиг. 2B, конвейер 206 доставки может включать в себя каскад 127A кодера для управления распространением, широковещательной передачей или передачей видеоданных 123 по среде 125 распространения видео, такой как спутниковые, кабельные сети или сети высокой четкости; IP- или беспроводные сети; либо DVD или другие носители хранения данных и т.д. Каскад 127B декодера может предоставляться на стороне отображения этапа 206, чтобы декодировать видеоданные 123, распространенные по среде 125. Каскад 127B декодера может реализовываться посредством абонентской приставки, например, или посредством декодера в подсистеме отображения. На этапах 206 и/или 208, метаданные 225C окружения просмотра и/или другие метаданные 225 могут встраиваться в видеоданные 123. Метаданные 225C окружения просмотра могут содержать, например:
[0032] Данные VDR-кодера по стандарту усовершенствованного кодирования видео (AVC), предоставляющие кривые тонального преобразования или палитры для эталонного монитора либо окружающую яркость опорного окружения. По меньшей мере, часть этой информации может определяться посредством видеопроцессора с помощью сведений по характеристикам отображения (например, посредством считывания расширенных данных идентификации дисплея (EDID) дисплея) и окружению подсистемы отображения. В некоторых вариантах осуществления, по меньшей мере, часть этой информации может определяться в студии в ходе компоновочной обработки видеоданных.
[0033] Параметры, описывающие окружение, в котором расположен дисплей подсистемы отображения. Такие параметры могут включать в себя, например, окружающую яркость и/или тональную или цветовую температуру.
[0034] Метаданные 225C окружения просмотра могут использоваться для того, чтобы направлять обработку видеоданных на этапе 208 и/или конфигурирование дисплея на этапе 210.
[0035] Подсистема отображения содержит видеопроцессор для обработки входящих видеоданных 123-3 на этапе 208. Видеопроцессор подсистемы отображения может выполнять обработку сигналов для видеоданных 123-3 на основе метаданных 225, извлеченных из видеоданных 123 (например, метаданных 225A), и/или известных характеристик отображения, ассоциированных с дисплеем подсистемы отображения. Видеоданные 123 могут обрабатываться и регулироваться для отображения в соответствии с параметрами 226 определения характеристик отображения и/или метаданными 225.
[0036] Другие метаданные 225, которые могут встраиваться в видеоданные 123 на этапах 206 и/или 208 или на других каскадах конвейера 200 доставки видео, включают в себя служебные метаданные 225D (для управления правами распространения и т.п.), такие как, например:
[0037] (1) данные водяных знаков, указывающие то, где видеоконтент формируется, распространяется, модифицируется и т.д.;
(2) данные цифровых отпечатков, предоставляющие описание видеоконтента для целей поиска или индексации и т.п.;
(3) защитные данные, указывающие то, кто владеет видеоконтентом и/или кто имеет доступ к нему;
(4) и/или т.п.
[0038] Метаданные 225C окружения просмотра могут формироваться, по меньшей мере, частично на основе параметров 206 определения характеристик отображения, ассоциированных с дисплеем подсистемы отображения. В некоторых вариантах осуществления, метаданные 225C окружения просмотра, метаданные 225B2 определения характеристик исходного видеоконтента и/или служебные метаданные 225D могут быть созданы или предоставлены посредством анализа видеоданных 103 в каскаде 127A кодера, каскаде 127B декодера и/или посредством видеопроцессора на этапе 208.
[0039] На этапе 210, конфигурирование дисплея может выполняться на дисплее подсистемы отображения. Надлежащие параметры для конфигурирования дисплея могут определяться на основе параметров 226 определения характеристик отображения и/или метаданных 225, таких как метаданные 225А камеры, компоновочные метаданные 225B (включающие в себя метаданные 225B1 эталонного дисплея и окружения и метаданные 225B2 определения характеристик исходного видеоконтента) и метаданные 225C окружения просмотра. Дисплей конфигурируется в соответствии с такими параметрами. Видеоданные 123 выводятся на дисплей.
[0040] Метаданные 225, которые используются для обработки видеоданных 123 на этапе 208 и конфигурирования дисплея на этапе 210, доставляются в потоке видеоданных таким образом, что метаданные 225 принимаются в подсистеме отображения (включающей в себя видеопроцессор и дисплей) перед применением. В некоторых вариантах осуществления, метаданные 225 доставляются таким образом, что они принимаются посредством подсистемы отображения, по меньшей мере, на один видеокадр раньше кадра, в котором метаданные 225 должны применяться. В конкретных вариантах осуществления, метаданные 225 доставляются на один видеокадр раньше, и применение метаданных 225 на этапах 208 и/или 210 может быть инициировано при обнаружении нового видеокадра во входящем видеопотоке.
Посценовые "стабильные" метаданные
[0041] Как упомянуто выше, может быть желательным захватывать метаданные в видеофайле на посценовой основе. Как описано в данном документе, несколько вариантов осуществления настоящей заявки могут захватывать метаданные (например, на основе яркости, цветовая палитра и т.п.) на посценовой основе. В частности, один вариант осуществления может предоставлять набор "стабильных" метаданных, которые могут применяться через идентичные и/или аналогичные сцены.
[0042] В одном варианте осуществления, каждая сцена может быть ассоциирована с глобальными сценовыми метаданными, которые могут формироваться в ответ на зависимые от кадра характеристики в сцене, например, такие как минимальное, максимальное и среднее значения яркости в каждом кадре. Сцены с аналогичными характеристиками также могут принудительно совместно использовать идентичные метаданные, так что в ходе отображения они поддерживают идентичное оформление и функциональность. В другом варианте осуществления, приемное устройство также может принимать "метаданные заблаговременного уведомления", например, т.е. метаданные для будущей сцены, так что оно может подготавливать, заранее, параметры, связанные с DM-обработкой.
[0043] Чтобы обеспечивать понимание принципа "стабильных" сценовых метаданных, нижеприведенные описания предлагаются просто в описательных целях и не предназначены для того, чтобы ограничивать объем настоящей заявки. Может быть желательным иметь цвет и яркость, стабильные в течение нескольких сцен. В одном примере, предположим, что имеется два актера в "сцене", но камера быстро переключается на одного актера, а затем на другого актера в последовательности видеокадров, к примеру, при длительном диалоге между двумя актерами в одних декорациях. Даже если это может составлять "сцену" театрально, два различных быстрых переключения камеры могут вызывать цветовой сдвиг и/или сдвиг яркости, который может быть как заметным, так и нежелательным для зрителя. В некоторых вариантах осуществления, может быть возможным иметь различные метаданные для каждого быстрого переключения, например, чтобы формировать стабильное внешнее представление всей сцены.
[0044] В качестве другого примера, рассмотрим случай, когда имеется один актер в "сцене", но актер движется, и камера следует за актером. С другой стороны, даже если он может представлять собой одну сцену театрально, могут возникать сдвиги яркости и/или цветовые сдвиги, которые являются как заметными, так и нежелательными для зрителя. В качестве еще одного другого примера, режиссер может использовать технологию "затемнений между кадрами" (или "монтажных переходов"), в которой одна сцена уменьшает свою яркость (возможно, до нуля), в то время как другая сцена может начинаться с низкой (например, нулевой) яркости до максимальной яркости за период в несколько кадров. Такие затемнения между кадрами или монтажные переходы могут использоваться для того, чтобы иллюстрировать обратный кадр для актера на экране или для других целей.
[0045] Эти ситуации могут становиться релевантными в случаях, в которых режиссер может участвовать в компоновочной обработке захваченного видео. Такой режиссер может выполнять цветокоррекцию, преобразование яркости для видео на мониторе профессионального уровня, например, имеющем яркость порядка вплоть до 5000 нит. Тем не менее, фильм может просматриваться на домашнем телевизоре или некотором другом целевом дисплее, который может иметь гораздо более низкую яркость. Знание этого заранее может предоставлять режиссеру или другому создателю контента возможность улучшать впечатление зрителя контента.
[0046] На основе этих нескольких примеров (а также других, не упомянутых в данном документе), может быть желательным с точки зрения зрителя (если не с точки зрения создателя контента видео/режиссера) применять метаданные на посценовой основе и/или иметь готовый процесс, который может определять то, когда применять "стабильные" метаданные к сцене и/или к последовательности кадров, что позволяет использовать отличающиеся, возможно, покадровые метаданные для текущей сцены/кадра.
[0047] Для случая домашнего видео, зачастую может иметь место то, что предусмотрен процессор управления отображением (DM), который может быть нацелен на предоставление "наилучшего" (или "лучшего") преобразования видеоданных для домашнего дисплея. Зачастую, DM предоставляют преобразование динамического диапазона, чтобы предоставлять хорошее согласование яркости с целевым дисплеем из доступных видеоданных. Преобразование динамического диапазона может использовать статистические метаданные яркости, например максимальную яркость, среднюю яркость и/или минимальную яркость, с тем чтобы обеспечивать преобразование.
[0048] Несколько находящихся в совместном владении заявок на патент раскрывают системы и технологии управления отображением (DM) и могут быть полезными для систем и способов настоящей заявки:
[0049] (1) Заявка на патент (США) 20110194618 авторов Gish и др., опубликованная 11 августа, 2011 года и озаглавленная "COMPATIBLE COMPRESSION OF HIGH DYNAMIC RANGE, VISUAL DYNAMIC RANGE and WIDE COLOR GAMUT VIDEO";
[0050] (2) Заявка на патент (США) 20120229495 автора Longhurst, опубликованная 13 сентября 2012 года и озаглавленная "INTERPOLATION OF COLOR GAMUT FOR DISPLAY ON TARGET DISPLAY";
[0051] (3) Заявка на патент (США) 20120321273 автора Messmer, опубликованная 20 декабря 2012 года и озаглавленная "VIDEO DISPLAY CONTROL USING EMBEDDED METADATA"; и
[0052] (4) Заявка на патент (США) 20130038790 авторов Seetzen и др., опубликованная 14 февраля 2013 года и озаглавленная "DISPLAY MANAGEMENT METHODS AND APPARATUS";
[0053] - все из которых полностью содержатся в данном документе по ссылке.
[0054] Один вариант осуществления стабильных сценовых метаданных
[0055] Фиг. 3 иллюстрирует один вариант осуществления высокоуровневой блок-схемы настоящей заявки. Видеоконвейер 300 может принимать кодированный поток 301 битов, который дополнительно может содержать видеоданные/данные изображений, вместе с метаданными, которые могут быть иметь некоторый применимый формат, например, покадрово, посценово и содержать статистические метаданные яркости, метаданные преобразования цветов и т.п.
[0056] Этот кодированный поток 301 битов может приниматься посредством декодера 302, который дополнительно может содержать синтаксический анализатор 304. Декодер 302 может декодировать входящий поток битов, который может быть зашифрован, сжат или иным образом кодирован любым способом, известным в данной области техники. После декодирования входящий поток битов может быть синтаксически проанализирован посредством синтаксического анализатора 304. Синтаксический анализатор 304 может разбивать метаданные из видеоданных/данных изображений.
[0057] Извлеченные видеоданные/данные изображений могут отправляться дальше, вместе с ассоциированными метаданными в качестве промежуточного потока 303 битов. Поток 303 битов также может содержать один или более флагов 305 (либо некоторый другой индикатор, сигнал и т.п.), которые могут информировать нижележащий процессор(ы) в отношении того, какие метаданные следует применять, и т.п., как подробнее описано в данном документе.
[0058] Промежуточный поток 303 битов и/или любые флаги 305 могут приниматься посредством модуля 306 управления отображением (DM). DM-модуль 306 может применять требуемые преобразования изображений/видео до того, как конечное изображение/видеоданные отправляются на целевой дисплей 308. Целевой дисплей 308 может представлять собой любое подходящее устройство, которое может отображать изображение и/или видеоданные для зрителя. В качестве только некоторых примеров, такие целевые дисплеи 308 могут представлять собой телевизионные HD-приемники, кинопроекторы, настольные мониторы, переносные компьютеры, планшетные компьютеры, интеллектуальные устройства и т.п.
[0059] Как упомянуто выше, несколько вариантов осуществления настоящей заявки могут заключать в себе вычисление и/или извлечение посценовых метаданных, например, возможно, набор "стабильных" сценовых метаданных. Такие стабильные сценовые метаданные могут использоваться надлежащим образом посредством конвейера в течение времени, когда могут использоваться стабильные сценовые метаданные (возможно, с заменой других доступных метаданных, будь то сцено-ориентированные или покадровые), чтобы уменьшать возможные заметные и/или нежелательные артефакты для зрителя.
[0060] В качестве только одного примера, рассмотрим сцену в темной пещере. Изображение может показывать все темные детали пещеры. Тем не менее, если камера панорамирует через проход в пещеру (который является ярким), адаптивное преобразование могут регулировать изображение надлежащим образом, например, что позволяет уменьшать темные детали стен пещеры, чтобы приспосабливать новые более яркие пикселы. При формировании и использовании сценовых стабильных метаданных преобразование может быть оптимизировано для всей сцены, например, так что отсутствует заметное изменение в середине сцены.
[0061] Фиг. 4 является одним вариантом осуществления высокоуровневой блок-схемы 400 последовательности операций способа обработки стабильных сценовых метаданных. На 402, видеоданные могут быть разделены на набор сцен. Это разделение и/или сегментация видео на набор сцен может выполняться рядом способов. Во-первых, сегментация может выполняться пользователем-человеком, например режиссером, режиссером монтажа, кем-то в компоновке видео и т.п. Например, в одном варианте осуществления, быстрые переключения сцены могут быть уже известны из списка монтажных решений (EDL), который может использоваться для того, чтобы создавать фильм из определенного числа различных снимков. В одном варианте осуществления, можно извлекать этот EDL и использовать его для того, чтобы определять границы сцены. Таким образом, требуются минимальные дополнительные усилия. Помимо этого, пользователь имеет вариант перезаписывать автоматически определенные (или извлеченные) быстрые переключения сцены.
[0062] Альтернативно, идентификация сегментации на сцены может выполняться автоматически посредством видеопроцессора, который может выполнять такие определения посредством анализа видеоданных на покадровой основе. Например, если возникает достаточно большое изменение данных яркости, цветовых данных или другого показателя данных изображений между кадрами, то видеопроцессор может определять то, что эта разность может размечать границу двух сцен. Такое автоматическое определение может улучшаться в упреждающем или многопроходном процессе, посредством которого несколько кадров могут быть проанализированы, и если отмечается начальная разность показателя данных изображений, и если этот показатель во множестве кадров после этого фактически соответствует такой начальной разности, то с высокой степенью вероятности может оцениваться то, что возникает смена сцены.
[0063] Для целей настоящей заявки, сцены могут идентифицироваться в видеоданных любым известным способом. На 404, метаданные могут вычисляться, измеряться или иным образом извлекаться на посценовой основе. Только в качестве одного примера, если имеются 50 кадров, которые содержат данную сцену, затем данные яркости могут измеряться и извлекаться для всей сцены. Сценовые метаданные, такие как минимальная яркость, средняя и/или усредненная яркость и максимальная яркость, могут вычисляться. Другие показатели для изображений/видео могут быть аналогично измерены и/или извлечены, чтобы формировать другие сцено-ориентированные метаданные.
[0064] Ниже приводится один вариант осуществления формирования сценовых стабильных метаданных в видеопотоке:
(1) Минимальная, средняя и максимальная яркость вычисляется для каждого кадра в сцене. Результаты затем комбинируются для всей сцены.
a. Для минимальной, берется минимум из всех минимумов всех кадров в сцене;
b. Для средней, берется среднее (усредненное) из всех средних всех кадров в сцене;
c. Для максимальной, берется максимум из всех максимумов всех кадров в сцене.
[0065] Следует принимать во внимание, что аналогичная статистика может извлекаться для других показателей для видео/изображений, например данных цветовой палитры и т.п. В другом варианте осуществления, может быть возможным формировать другие зависимые от сцены метаданные, например то, какое увеличение резкости или сглаживание следует применять к данным изображений в сцене.
[0066] На 406, набор "стабильных" метаданных может вычисляться для сцены. Стабильные метаданные могут отличаться от предыдущих вычисленных сцено-ориентированных (или покадровых) метаданных, в зависимости от использования таких метаданных. Сценовые стабильные метаданные могут вычисляться и/или формироваться для сцены, возможно, согласно некоторому отслеживаемому признаку, аспекту и/или показателю, который потенциально может формировать заметное и/или нежелательное изменение в видеоданных, например, даже если предыдущие вычисленные сцено-ориентированные метаданные должны использоваться в рендеринге сцены для просмотра. Например, в случае одного актера, перемещение в пространстве и времени через различный фон (например, переход из темного закрытого помещения в яркую освещенную солнцем обстановку на улице за одно быстрое переключение) может формировать заметные и/или нежелательные изменения цвета или оттенка на лице актера или, в противном случае, в тоне кожи. В некотором варианте осуществления, метаданные для второй сцены также могут быть заменены посредством метаданных, вычисленных для первой сцены (например, отличающейся от второй сцены), если согласно отслеживаемому признаку, аспекту и/или показателю две сцены могут считаться перцепционно аналогичными. Вторая сцена может находиться после или до первой сцены.
[0067] Другие признаки, аспекты и/или показатели являются возможными, например тон кожи, яркие признаки/объекты, темные признаки/объекты, цветные признаки/объекты и т.п. Такие изменения могут уменьшаться при стабильных сценовых метаданных. Сценовые стабильные метаданные могут вычисляться и/или формироваться таким образом, что признак, аспект и/или показатель, отслеживаемый в течение сцены, возвращается и/или поддерживается в пределах диапазона допустимых значений. На 408, процесс может ассоциировать и/или заменять этими стабильными сценовыми метаданными любые другие метаданные, которые могут быть или не быть предварительно ассоциированы со сценой. Это ассоциирование и/или замена стабильных сценовых метаданных может предоставляться, чтобы возвращать такие признаки, аспекты и/или показатели в пределы приемлемого диапазона; например, возможно, если другие метаданные дают возможность таким признакам, аспектам и/или показателям выходить за пределы приемлемого диапазона. Диапазон допустимых значений для признака, аспекта и/или показателя может определяться вручную (например, режиссером и/или режиссером монтажа) или согласно определенным правилам и/или эвристике, заключающей в себе обработку/рендеринг изображений и/или монтаж фильма.
[0068] Следует принимать во внимание, что обработка, изложенная на фиг. 4, может осуществляться во многих различных точках в конвейере видео/изображения. Например, сегментация видео на сцены может выполняться в компоновке видео человеком либо в других случаях посредством процессора в конвейере. Помимо этого, последующее вычисление и/или извлечение сцено-ориентированных метаданных может выполняться в компоновке видео либо в других случаях в конвейере. Аналогично, ассоциирование "стабильных" сценовых метаданных может возникать в компоновке видео либо может выполняться еще позднее, например, посредством DM или другого видеопроцессора до отправки конечных видеоданных/данных изображений на целевой дисплей для рендеринга.
Альтернативные варианты осуществления
[0069] В некоторых вариантах осуществления, операции преобразования могут быть зависимыми от контента изображений, чтобы достигать максимальной производительности. Такое зависимое от изображений преобразование может управляться посредством метаданных, которые формируются из исходного контента. Чтобы обеспечивать временную стабильность (например, отсутствие мерцания, пульсации, перехода и т.д.), может быть желательным, чтобы метаданные были, в общем, стабильными во времени. В одном варианте осуществления, это может затрагиваться посредством обеспечения стабильности для метаданных в течение длительности сцены. Метаданным может разрешаться изменяться при каждом быстром переключении сцены. Внезапное изменение метаданных для адаптации к контенту может не быть заметным для зрителя в таком случае.
[0070] В одном варианте осуществления, этапы для формирования сценовых стабильных метаданных могут содержать следующее:
(1) Получение местоположения быстрых переключений сцены в видеоданных. В одном варианте осуществления, оно может извлекаться из списка монтажных решений (EDL). Альтернативно, оно может вводиться вручную человеком или обнаруживаться автоматически посредством процессора.
(2) Вычисление и/или формирование метаданных для каждого кадра в сцене:
a. Необязательная понижающая дискретизация изображения. (Она зачастую может ускорять обработку и минимизировать влияние нескольких резко отклоняющихся пиксельных значений.)
b. Преобразование изображения в требуемое цветовое пространство (например, IPT-PQ)
c. Вычисление минимального значения изображения (например, I-канал)
d. Вычисление максимального значения изображения (например, I-канал)
e. Вычисление среднего значения изображения (например, I-канал)
(3) Комбинирование результатов в расчете на кадр в результат в расчете на сцену:
a. Вычисление минимума из минимумов каждого из кадров.
b. Вычисление максимума из максимумов каждого из кадров.
c. Вычисление среднего значения из средних каждого из кадров.
(4) Ассоциирование метаданных со сценой, или альтернативно, с каждым кадром в сцене
[0071] Следует принимать во внимание, что вариации вышеописанных вариантов осуществления возможны и считаются находящимися в пределах объема этой настоящей заявки. Например, вместо анализа каждого кадра сцены на этапе (2), один характерный кадр может быть выбран и использован для того, чтобы вычислять и/или формировать метаданные, которые затем ассоциируются со всей сценой.
[0072] Помимо этого, монтажные переходы могут поддерживаться посредством указания метаданных для сцен по обе стороны от монтажного перехода и затем интерполяции для промежуточных кадров. Такая интерполяция может быть линейной или асимптотической на обоих концах через косинусоидальную или аналогичную функцию.
[0073] После этапа (4) метаданные могут вставляться в кодированный поток битов с надлежащей синхронизацией с корректным видеокадром. Метаданные могут повторяться регулярно, чтобы давать возможность случайного ввода в поток.
[0074] В еще одном другом варианте осуществления, можно включать в метаданные некоторые предварительно вычисленные значения, чтобы помогать с преобразованием декодированного видео в требуемое цветовое пространство (например, IPT-PQ). Это может требоваться, поскольку преобразование зачастую выполняется на устройствах с процессорами с фиксированной запятой, которые могут не справляться с определенными математическими операциями, такими как деления и экспоненты. Использование предварительно вычисленных значений и их встраивание в поток метаданных может обеспечивать преимущество.
[0075] Декодирование сценовых стабилизированных метаданных/метаданных заблаговременного уведомления
[0076] В видеодекодере, новые сценовые метаданные могут поступать в кадре, идентичном первому кадру новой сцены. Альтернативно, метаданные могут поступать перед первым кадром сцены, чтобы предоставлять время для декодирования и интерпретации метаданных во времени для их применения для обработки видео. Эти "метаданные заблаговременного уведомления" и другие технологии могут требоваться для повышения надежности сценовых стабилизированных метаданных при передаче потока битов. Некоторые улучшения могут содержать следующие, в качестве отдельных улучшений или в качестве нескольких улучшений в комбинации:
(1) Повторение метаданных каждый кадр в идентичной сцене;
(2) Добавление индикатора/флага осуществления быстрого переключения сцены фактически в следующем кадре в тело метаданных;
(3) Добавление индикатора/флага осуществления быстрого переключения сцены в текущем кадре в тело метаданных;
(4) Добавление индикатора/флага того, что метаданные следующего кадра являются фактически идентичными (или существенно отличающимися) относительно метаданных текущего кадра; и/или
(5) Добавление поля целостности данных в тело метаданных для проверки ошибок (например, CRC32).
[0077] Фиг. 5 иллюстрирует один вариант осуществления такой блок-схемы 500 последовательности операций способа для метаданных заблаговременного уведомления. На 502, система/конвейер может вычислять и/или формировать метаданные на посценовой основе. Эти метаданные (стабильные сценовые метаданные или нет) могут быть ассоциированы со сценой в потоке битов видеоданных на 504. Система/конвейер затем может добавлять индикатор относительно предстоящей смены сцены заранее посредством требуемого (например, одного или более) числа кадров до фактического первого кадра новой сцены на 506. Этот индикатор и/или флаг может содержать часть потока битов и отмечаться посредством DM (или другого подходящего процессора в конвейере). На 508, система может обеспечивать время DM (или другого подходящего процессора), чтобы устанавливать параметры и/или преобразования перед сменой сцены. Это дополнительное время может предоставлять системе возможность исключать заметные артефакты, которые могут быть нежелательными для зрителя видеоконтента.
[0078] Зачастую это может представлять собой улучшение по сравнению с традиционными способами стабилизации метаданных, которые могут не иметь доступа к местоположениям быстрых переключений сцены заранее. Например, если быстрые переключения сцены неизвестны заранее, метаданные могут оцениваться на лету посредством анализа видеоданных или позволения метаданным плавно изменяться во времени. Это может вызывать артефакты в изображении, такие как мерцание, пульсация, затухание и т.д. В другом варианте осуществления, посредством вычисления метаданных в источнике (например, перед сжатием видео), может быть возможным сокращать вычисления, и, следовательно, затраты, требуемые посредством бытовых устройств с более ограниченными характеристиками.
[0079] Фиг. 6 является одним примером видеоданных 600, которые сегментированы на определенное число сцен (сцены 1-N), которые, в свою очередь, содержат определенное число кадров (например, кадр 602a). Кадр 602m сцены 1 может иметь флаг предварительного уведомления, ассоциированный с кадром, так что DM может иметь время задавать параметры и/или преобразование для того, чтобы лучше подготавливать посредством рендеринга сцену 2, которая следует в свою очередь.
[0080] Выше приведено подробное описание одного или более вариантов осуществления изобретения, изучаемых вместе с прилагаемыми чертежами, которые иллюстрируют принципы изобретения. Следует принимать во внимание, что изобретение описывается в связи с такими вариантами осуществления, но изобретение не ограничено каким-либо вариантом осуществления. Объем изобретения ограничен только посредством формулы изобретения, и изобретение охватывает множество альтернатив, модификаций и эквивалентов. Множество конкретных подробностей изложено в этом описании, чтобы предоставлять полное понимание изобретения. Эти подробности предоставляются для целей примера, и изобретение может осуществляться на практике согласно формуле изобретения без некоторых или всех этих конкретных подробностей. Для ясности, технический материал, который известен в областях техники, связанных с изобретением, не описан подробно, так что понимание изобретения не затрудняется чрезмерно.