Перекрестные ссылки на родственные заявки
[0001]
По данной заявке испрашивается приоритет на основании следующих приоритетных заявок: предварительной заявки на патент США № 63/216,029 (номер дела: D21064USP1), поданной 29 июня 2021 г., и предварительной заявки на патент США № 63/297,473 (номер дела: D21064USP2), поданной 7 января 2022 г., которые включены в данный документ путём ссылки.
Область техники, к которой относится изобретение
Настоящее изобретение обносится в общем к области кодирования (кодирования/декодирования) аудиоданных и/или видеоданных, и более конкретно к способам устройствам и системам сигнализации предварительного выбора, соответствующего представлениям мультимедиа пользователю, и их обработки.
Уровень техники
В общем случае, с появлением аудиостандарта следующего поколения (NGA) или аналогичных видеотехнологий, полное аудиовосприятие более не передается в виде предварительно сформированного одноэкземплярного мультимедийного компонента. Наоборот, отдельные семантические объекты могут обеспечиваться отдельно, чтобы предложить конечным пользователям эффективный способ индивидуальной адаптации содержимого к своим предпочтениям.
Например, диалог может быть предусмотрен на множестве языков, поскольку дополнительные выбираемые аудиокомпоненты и выбор языка могут быть реализованы посредством комбинирования различных аудиокомпонентов либо через различные балансы между компонентами.
В широком смысле, современные схемы сжатия видеоданных в общем могут использовать возможность охвата полных доступных мультимедийных данных по нескольким потокам по разным причинам, включая возможность сокращения полосы пропускания передачи для тех пользователей, которым не требуются определенные части мультимедийного объекта.
В любом случае, мультимедийные проигрыватели обычно должны основываться на прилагаемых метаданных для получения инструкций в отношении того, как следует рендерировать компоненты, чтобы получить заданное пользовательское восприятие, как могут понимать и учитывать специалисты в данной области техники.
Для передачи множество из этих компонентов содержимого (или CC для краткости) могут мультиплексироваться в один отдельный элементарный поток, или эти компоненты могут распределяться по множеству элементарных потоков.
Обычно не все доступные компоненты должны представляться одновременно, но только определенные сочетания этих компонентов могут обеспечивать требуемые пользовательские восприятия.
Метаданные в различных мультиплексирующих и транспортных слоях обеспечивают клиентам (или конечным пользователям) требуемые сведения относительно всех доступных компонентов. Помимо этого, эти данные также могут быть необходимы для решения, какие элементарные потоки должны загружаться и декодироваться в некоторых случаях.
Международная организация по стандартизации (ISO) включает в себя и указывает базовый формат мультимедийных файлов, общеизвестный в качестве ISOBMFF. В частности, этот ISOBMFF указывается посредством части 12 ISO/IEC 14496-12 MPEG-4 от ISO. Вообще говоря, он задает общую структуру для временных мультимедийных файлов, таких как видеоданные и/или аудиоданные. Хотя большинство существующих форматов мультиплексирования уже могут обеспечивать средство снабжения компонентов в файлах их соответствующими свойствами, в мультиплексировании в базовом формате мультимедийных файлов по стандарту ISO (ISOBMFF), кажется, в определенной степени отсутствует возможность сигнализации общего восприятия, состоящее из сочетаний компонентов содержимого. Если говорить кратко, кажется, существует разрыв по сравнению с некоторыми другими стандартами (например, MPEG DASH (ISO/IEC 23009-1)), которые, по-видимому, вводят концепцию предварительных выборов.
В свете этого, вообще говоря, по-видимому, существует потребность в технологиях сигнализации информации, указывающей такие предварительные выборы (возможно также информации, указывающей то, как такие предварительные выборы должны обрабатываться), пользователям, более конкретно, в контексте ISOBMFF.
Раскрытие изобретения
С учетом вышеизложенного, настоящее изобретение в общем обеспечивает способы обработки мультимедийного потока, устройства обработки мультимедийных потоков, программу, а также машиночитаемые носители данных, имеющие признаки соответствующих независимых пунктов формулы изобретения.
Согласно первому аспекту настоящего изобретения, предложен способ обработки мультимедийного потока. Мультимедийный поток может представлять собой аудиопоток, видеопоток либо их сочетание. Способ может осуществляться на стороне пользователя либо, в некоторых случаях, в окружении на стороне пользователя (декодирования), которое может включать в себя, не ограничиваясь, телевизор, звуковую панель, веб-браузер, мультимедийный проигрыватель, подключаемый модуль и т.д., в зависимости от различных реализаций.
В частности, способ может содержать прием мультимедийного потока, пакетизированного в соответствии с заданным транспортным форматом. Заданный транспортный формат может представлять собой базовый формат мультимедийных файлов (ISOBMFF), указанный посредством части 12 ISO/IEC 14496-12 MPEG-4 от ISO, либо любой другой подходящий (транспортный) формат. Пакетизированный мультимедийный поток может содержать множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля. В частности, при использовании в данном документе, термин «поле» может в общем использоваться для обозначения в некоторых возможных случаях объектно-ориентированного компоновочного блока, определяемого уникальным идентификатором типа (поля) (и возможно также соответствующей длины), например, как описано в ISO 14496-12. Конечно, термин «поле», при использовании в настоящем изобретении, не должен пониматься как ограниченный только таким описанием. Наоборот, термин «поле» следует в общем понимать как любую подходящую структуру данных, которая может служить в качестве заполнителя для мультимедийных данных или других данных пакетизированного мультимедийного потока. Кроме того, специалисты в данной области техники также должны понимать и принимать во внимание, что такое «поле» может упоминаться с использованием любого другого подходящего термина. Пример может представлять собой то, что в некоторых возможных спецификациях (включая первое определение MP4) в определенных случаях «поле» в качестве альтернативы может называться «атомом». Кроме того, как указано («иерархический»), множество полей, в зависимости от различных реализаций и/или требований, могут иметь одинаковые либо различные уровни (или положения), быть вложенными (дочернее/под-поле в сравнении с родительским полем) и т.д., как должны понимать и принимать во внимание специалисты в данной области техники. Более конкретно, множество полей могут содержать, в числе других возможностей, одно или более полей дорожек, ссылающихся (или другими словами, указывающих) на соответствующие дорожки, указывающие компоненты мультимедиа (мультимедийного содержимого) мультимедийного потока. Вообще говоря, компонент мультимедиа (мультимедийного содержимого) в общем может означать один/отдельный непрерывный компонент мультимедийного содержимого (и обычно также может быть ассоциирован с соответствующим (например, назначенным) типом компонента мультимедийного содержимого, который может включать в себя, не ограничиваясь, аудио, видео, текст и т.д.). Пример для понимания концепции «компонента мультимедиа (мультимедийного содержимого)» содержится и определен/описан, например, в MPEG DASH (ISO/IEC 23009-1).
Способ может дополнительно содержать определение того, содержит ли мультимедийный поток связанное с предварительным выбором поле заданного типа, указывающего предварительный выбор, при этом предварительный выбор может соответствовать представлению мультимедиа пользователю. Более конкретно, при использовании в данном документе, термин/словосочетание «предварительный выбор» в общем, используется для обозначения набора компонентов мультимедийного содержимого (мультимедийного потока), который предназначен для совместного потребления (например, посредством устройства на стороне пользователя), а более конкретно, который в общем представляет одну версию представления мультимедиа, которое может выбираться конечным пользователем для одновременного декодирования и/или представления. Пример для понимания концепции «предварительного выбора» содержится и описан, например, в MPEG DASH (ISO/IEC 23009-1). Конечно, специалистам в данной области техники следует понимать и учитывать, что в некоторых других возможных технических контекстах термин «предварительный выбор» также может быть известным (или упоминаться) посредством использования любого другого подходящего (сравнимого) термина, такого как (не ограничиваясь), «представление», как описано, например, в ETSI TS 103190-2, или «предварительная установка», как описано, например, в ISO/IEC 23008-3, и т.д. Соответственно, связанное с предварительным выбором поле может представлять собой конкретное поле из множества полей в мультимедийном потоке, который имеет конкретный заданный (или предварительно определенный) тип. Такой конкретный тип, указывающий предварительный выбор, может быть задан (или предварительно определен) заранее посредством использования любых подходящих средств, как должны понимать и принимать во внимание специалисты в данной области техники, что подробнее описано ниже.
Если определено, что мультимедийный поток содержит связанное с предварительным выбором поле, способ может еще дополнительно содержать: анализ информации метаданных, соответствующей связанному с предварительным выбором полю, причем информация метаданных указывает характеристики предварительного выбора; идентификацию одной или более дорожек в пакетизированном мультимедийном потоке, вносящих вклад в предварительный выбор, на основе информации метаданных; и обеспечение одной или более дорожек для последующей обработки в соответствии с данным предварительным выбором. Специалисты в данной области техники должны понимать и принимать во внимание, что информация метаданных, проиллюстрированная выше, может (непосредственно) включаться в или (косвенно) извлекаться из мультимедийного потока (или более конкретно, из множества полей (пакетизированного) мультимедийного потока) посредством использования любых подходящих средств, в зависимости от различных реализаций. Например, информация метаданных может содержаться или включаться в поле заголовка (или подполе другого поля), которое может быть ассоциировано или связано со связанным с предварительным выбором полем (например, в качестве его подполя). Как отмечено выше, предварительный выбор в общем означает случай, в котором набор компонентов мультимедийного содержимого предназначен для совместного потребления, например, посредством одного или более подходящих последующих устройств (например, мультимедийного декодера, мультимедийного проигрывателя и т.д.). В некоторых возможных случаях последующее устройство также может называться просто «приёмником». Как следствие, в зависимости от различных реализаций и/или требований, последующая обработка может содержать, но, безусловно, не ограничиваясь, мультиплексирование (либо повторное мультиплексирование в некоторых возможных случаях), упорядочение, объединение, декодирование или рендеринг этих вносящих вклад дорожек, как подробнее описано ниже.
При вышеописанной конфигурации предложенный способ может в общем обеспечивать эффективный, при этом гибкий способ определения/идентификации и последующей сигнализации дорожек в мультимедийном потоке, которые выполнены с возможностью внесения вклада в конкретный предварительный выбор, за счет этого обеспечивая дополнительно подходящую последующую обработку таких вносящих вклад дорожек (например, посредством одного или более подходящих последующих устройств). В связи с этим, вообще говоря, предложенный способ может рассматриваться как предлагающий возможность и способность сигнализации информации, указывающей предварительные выборы (и возможно также их обработки) в файле транспортного слоя (например, ISOBMFF), унифицированным способом, который может считаться преимущественным в различных вариантах использования или сценариях. Например, такое унифицированное представление (или другими словами, агностическое по отношению к формату/типу) предварительных выборов может использоваться для реализации унифицированной структуры данных для интерфейса прикладного программирования (API) мультимедийного проигрывателя (например, который должен использоваться посредством приложения или в качестве подключаемого модуля для веб-браузера), так что не требуется характерная для данного формата реализация в мультимедийных проигрывателях, что приводит к меньшим усилиям для реализации и/или тестирования, при этом одновременно с повышенной надежностью. В качестве другого примера, такое унифицированное представление предварительных выборов также может обеспечивать агностическую по отношению к формату реализацию обработки данных предварительного выбора в блоках формирования манифестов (например, файлов формата динамической адаптивной потоковой передачи MPEG по HTTP (DASH) или файлов формата передаваемого в реальном времени потока HTTP (HLS)), за счет этого исключая потребность в вычислительно более дорогих операциях для двоичных данных и при этом с уменьшенными усилиями по реализации и повышенной надежностью. При использовании в данном документе, термин «агностический по отношению к формату/типу» может в общем означать, что предложенное представление является общим для всех типов (форматов) данных.
В некоторых примерных реализациях, мультимедийный поток может дополнительно содержать информацию обработки, указывающую, как следует обрабатывать дорожки, вносящие вклад в предварительный выбор (например, посредством последующего устройства). Аналогично информации метаданных, как описано выше, информация обработки также может (непосредственно) включаться в или (косвенно) извлекаться из мультимедийного потока (или более конкретно, из множества полей (пакетизированного) мультимедийного потока) посредством использования любых подходящих средств, в зависимости от различных реализаций. Например, информация обработки также может содержаться в одном конкретном поле (например, конкретного (заданного) типа), которое может быть ассоциировано или связано с предварительным выбором или связанным с предварительным выбором полем (например, в качестве его подполя).
В некоторых примерных реализациях, информация обработки может содержать информацию упорядочивания, указывающую порядок дорожек для обработки (например, декодирования, объединения и т.д.) одной или более дорожек. Например, в некоторых возможных случаях, порядок дорожек может указывать то, в каком порядке дорожки должны передаваться в последующие устройства (например, в устройства декодирования). Аналогично вышеуказанному, такая информация упорядочивания может быть реализована как включенная в (под-)поле, которое ассоциировано или связано с информацией обработки.
В некоторых примерных реализациях, информация обработки может содержать информацию объединения, указывающую, должны ли одна или более дорожек объединяться с одной или более других дорожек для объединенной (последующей) обработки. Другими словами, в зависимости от реализации такой информации объединения, в некоторых случаях, некоторая дорожка(ки) может объединяться с некоторой другой дорожкой(ками) для последующей обработки; тогда как в некоторых других случаях, некоторая дорожка(ки) может трактоваться отдельно (например, маршрутизироваться в отдельные экземпляры декодирования). В частности, в некоторых возможных случаях, такое объединение также может называться «мультиплексированием» либо любым другим подходящим термином. Специалистам в данной области техники следует понимать и учитывать, что объединение (мультиплексирование) дорожек может достигаться посредством использования любых подходящих средств (например, посредством присоединения последующей дорожки в конец предшествующей дорожки).
В некоторых примерных реализациях способ может дополнительно содержать объединение одной или более дорожек в соответствии с информацией объединения и информацией упорядочивания.
В некоторых примерных реализациях, информация упорядочивания может содержать, для каждой дорожки, вносящей вклад в предварительный выбор, соответствующее порядковое значение дорожки для задания порядка дорожек для дорожек. Специалисты в данной области техники должны понимать и принимать во внимание, что различные подходящие правила могут определяться для задания порядка дорожек для дорожек посредством использования соответствующего порядкового значения дорожки. Как отмечено выше, в некоторых возможных случаях, порядок дорожек может указывать, в каком порядке дорожки должны передаваться в последующие устройства (например, в устройства декодирования). В таких случаях, возможная примерная реализация (но не в качестве ограничения любого вида) может состоять в том, что дорожка с меньшим порядковым значением дорожки (например, 1) должна передаваться в устройство декодирования раньше другой дорожки с большим порядковым значением дорожки (например, 3). В некоторых случаях, если множество дорожек имеют равное порядковое значение, то упорядочение этих дорожек может более не быть релевантным или важным. Кроме того, аналогичным образом, информация объединения может содержать соответствующий флаг объединения для каждой дорожки, вносящей вклад в предварительный выбор. В частности, первое заданное значение (например, «1») флага объединения может указывать то, что соответствующая дорожка должна объединяться (или мультиплексироваться) с примыкающей дорожкой (например, с предшествующей или последующей дорожкой, в зависимости от различных реализаций такого флага объединения) в порядке дорожек, и второе заданное значение (например, «0») флага объединения, соответственно, может указывать то, что соответствующая дорожка должна обрабатываться отдельно (например, подаваться или маршрутизироваться в отдельное последующее устройство декодирования). В связи с этим, объединение одной или более дорожек в соответствии с информацией объединения и информацией упорядочивания может содержать постепенное (или последовательное) сканирование дорожек в соответствии с порядком дорожек; и объединение дорожек в соответствии с соответствующими флагами объединения. Например, в некоторых возможных случаях, если флаг flag[i] объединения дорожки i задается равным «1», каждая выборка этой дорожки i может присоединяться к выборке(кам) дорожки со следующим более низким (или более высоким) порядковым значением дорожки (например, дорожки i-1 или i+1); тогда как с другой стороны, если флаг объединения дорожки задается равным «0», эта дорожка i может передаваться в отдельный экземпляр декодера. В качестве другого возможного примера в крайнем случае, когда все флаги объединения для дорожек задаются равными «0», с применением вышеприведенного понятия, дорожка затем должна распространяться во множество (отдельных) последующих устройств (приёмников).
В некоторых примерных реализациях способ может дополнительно содержать декодирование одной или более дорожек для воспроизведения мультимедийного потока согласно представлению мультимедиа, указываемому посредством предварительного выбора.
В некоторых примерных реализациях, одна или более дорожек могут декодироваться посредством последующего устройства (например, мультимедийного проигрывателя, телевизора, звуковой панели, подключаемого модуля и т.д.).
В некоторых примерных реализациях, объединение одной или более дорожек и декодирование одной или более дорожек могут выполняться посредством одного отдельного устройства. Другими словами, может быть предусмотрен вариант использования, в котором объединение и декодирование работают в тандеме. Более конкретно, пример (но не в качестве ограничения) такого варианта использования может представлять собой пример, в котором определенный JavaScript API предположительно работает только с одним объединенным потоком, а не с несколькими потоками. В таком случае, один объект в общем может принимать несколько входящих потоков и объединять/мультиплексировать их, как проиллюстрировано выше, и впоследствии отправлять их в качестве одного объединенного потока по однопотоковому API для декодирования на другой стороне API. В некоторых возможных случаях, однопотоковый формат может представлять собой формат потока байтов на основе общего формата мультимедийных приложений (CMAF). Конечно, специалистам в данной области техники следует понимать и учитывать, что в некоторых других случаях объединение и декодирование дорожек могут выполняться посредством различных (отдельных) устройств. В качестве иллюстративного примера (но не в качестве ограничения), телевизор может реализовывать объединение потока, как проиллюстрировано выше, но отправлять объединенный поток в отдельное последующее устройство, такое как звуковая панель для последующего декодирования.
В некоторых примерных реализациях, мультимедийный поток может содержать множество (вместо только одного) связанных с предварительным выбором полей заданного типа. Соответственно, способ может дополнительно содержать выбор (или определение) связанного с предварительным выбором поля из множества связанных с предварительным выбором полей. Специалисты в данной области техники должны понимать и принимать во внимание, что такой выбор (или определение) одного конкретного связанного с предварительным выбором поля из множества связанных с предварительным выбором полей может выполняться в любых подходящих средствах.
В некоторых примерных реализациях, связанное с предварительным выбором поле может выбираться (или определяться) посредством приложения (например, приложения, управляющего мультимедийным проигрывателем/декодером). Например, в некоторых возможных случаях, упомянутое приложение может быть выполнено с возможностью (например, на основе заданного алгоритма) (автоматического) выбора (или определения) связанного с предварительным выбором поля, например, соответствующего конкретной компоновке (например, окружения декодирования или представления).
В некоторых примерных реализациях, мультимедийный поток может содержать одно или более полей меток (которые могут быть тем или иным образом ассоциированы или связаны с соответствующими предварительными выборами или соответствующими связанными с предварительным выбором полями), содержащих информацию описания для соответствующего представления мультимедиа пользователю, которое соответствует соответствующему предварительному выбору. Соответственно, в таких случаях, выбор (или определение) связанного с предварительным выбором поля может выполняться на основе ввода пользователя. В качестве примера (но не в качестве ограничения), поля меток могут содержать информацию описания, указывающую выбираемые субтитры различных языков (например, для английского языка, немецкого языка, китайского языка и т.д.), каждый из которых может считаться соответствующим предварительным выбором (представлением), так что пользователь (например, при управлении приложением) может выбирать (например, посредством щелчка мыши или клавиатуры) соответствующую языковую настройку соответствующим образом.
В некоторых примерных реализациях, связанное с предварительным выбором поле может считаться агностическим по отношению к мультимедийному кодеку, используемому для кодирования мультимедийного потока перед пакетированием. Другими словами, вообще говоря, связанное с предварительным выбором поле может содержать только необходимую информацию для соответствующего предварительного выбора, но не информацию, которая может быть связана с мультимедийным кодеком (т.е. относящуюся к кодеку информацию). Другими словами, в связанном с предварительным выбором поле(ях) в общем отсутствует информация, которая связана с тем, как мультимедийный поток кодирован (например, посредством конкретного мультимедийного кодера), и/или с тем, как такой мультимедийный поток должен декодироваться (например, посредством конкретного мультимедийного декодера).
В некоторых примерных реализациях, информация метаданных, соответствующая связанному с предварительным выбором полю, может содержать идентификационную информацию дорожки, указывающую один или более идентификаторов дорожек, ассоциированных с соответствующей дорожкой, при этом дорожки, ассоциированные с одним или более идентификаторов дорожек в информации метаданных, могут быть связаны с представлением мультимедиа. Специалисты в данной области техники должны понимать и принимать во внимание, что такая идентификационная информация дорожки, указывающая один или более идентификаторов дорожек, может реализовываться в любых подходящих средствах, например, просто массива, причем каждый элемент в нем (уникально) указывает соответствующий идентификатор дорожки (который непосредственно может представляться посредством использования целочисленного значения или любой другой подходящей формы). В этом случае, в некоторых возможных случаях, информация метаданных, соответствующая связанному с предварительным выбором полю, при необходимости может дополнительно содержать счетчик (например, целочисленное значение), указывающий число дорожек, требуемых посредством (или вносящий вклад в) этого предварительного выбора.
В некоторых примерных реализациях, информация метаданных, соответствующая связанному с предварительным выбором полю, может содержать идентификационную информацию предварительного выбора, указывающую идентификатор предварительного выбора для идентификации предварительного выбора. Таким образом, информация метаданных, соответствующая связанному с предварительным выбором полю, может содержать необходимую информацию (например, представленную посредством использования целого числа), которая обеспечивает возможность предварительному выбору быть (уникально) идентифицируемым для внешних (например, последующих) приложений и/или устройств, например, для помощи в выборе/определении соответствующего предварительного выбора, соответственно.
В некоторых примерных реализациях, информация метаданных, соответствующая связанному с предварительным выбором полю, может содержать уникальные относящиеся к предварительному выбору данные для конфигурирования последующего устройства (например, последующего мультимедийного проигрывателя/декодера) с возможностью декодирования дорожек в соответствии с предварительным выбором. В зависимости от различных реализаций и/или требований, такие относящиеся к предварительному выбору данные могут содержать любую подходящую информацию (например, в некоторых случаях, относящуюся к кодеку информацию) и могут быть реализованы (представлены) в любых подходящих средствах (например, в целых числах, массивах, строках и т.д.).
Согласно второму аспекту настоящего изобретения предложен способ обработки мультимедийного потока. Мультимедийный поток может представлять собой аудиопоток, видеопоток либо их сочетание. Способ может осуществляться на стороне пользователя либо, в некоторых случаях, в окружении на стороне пользователя (декодирования), которое может включать в себя, не ограничиваясь, телевизор, звуковую панель, веб-браузер, мультимедийный проигрыватель, подключаемый модуль и т.д., в зависимости от различных реализаций.
В частности, способ может содержать прием мультимедийного потока, пакетизированного в соответствии с заданным транспортным форматом. Аналогично предшествующему первому аспекту, заданный транспортный формат может представлять собой базовый формат мультимедийных файлов (ISOBMFF), указанный посредством части 12 ISO/IEC 14496-12 MPEG-4 от ISO, либо любой другой подходящий (транспортный) формат. Пакетизированный мультимедийный поток может содержать множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля. Как проиллюстрировано выше, множество полей (либо упоминаемых с использованием любых других подходящих терминов) могут иметь, в зависимости от различных реализаций и/или требований, равные либо различные уровни (или положения), быть вложенными (дочернее/под-поле в сравнении с родительским полем) и т.д., как должны понимать и принимать во внимание специалисты в данной области техники. Более конкретно, множество полей могут содержать, в числе других возможностей, одно или более полей дорожек, ссылающихся (или другими словами, указывающих) на соответствующие дорожки, указывающие компоненты мультимедиа (мультимедийного содержимого) мультимедийного потока. Помимо этого, множество полей также могут содержать одно или более полей групп дорожек (либо упоминаемых с использованием любого другого подходящего термина/названия), ассоциированных с соответствующей парой из идентификатора группы дорожек и типа группы дорожек, которые совместно идентифицируют соответствующую группу дорожек в мультимедийном потоке. Другими словами, дорожки, которые имеют (например, идентифицируются посредством или связаны с) одинаковый идентификатор группы дорожек и одинаковый тип группы дорожек, могут считаться относящимися к одной и той же группе дорожек. Каждая такая группа дорожек в общем может определять соответствующий предварительный выбор, соответствующий соответствующему представлению мультимедиа пользователю. Как уже проиллюстрировано выше, термин/словосочетание «предварительный выбор» (либо упоминаемый с использованием любых других подходящих терминов/названий) используется в общем для обозначения набора компонентов мультимедийного содержимого (мультимедийного потока), который предназначен для объединенного потребления (например, посредством устройства на стороне пользователя), а более конкретно, который в общем представляет одну версию представления мультимедиа, которое может выбираться конечным пользователем для одновременного декодирования/представления.
Способ может дополнительно содержать проверку (например, посещение, циклическое прохождение через и т.д.) полей дорожек в мультимедийном потоке для определения полного (либо законченного/совокупного) набора предварительных выборов, которые присутствуют в мультимедийном потоке. В частности, определение полного набора предварительных выборов может содержать: определение набора уникальных пар из идентификаторов групп дорожек и типов групп дорожек и адресацию предварительных выборов посредством соответствующих идентификаторов групп дорожек. Как отмечено выше, каждый предварительный выбор ассоциирован с соответствующей группой дорожек, которая непосредственно, в свою очередь, идентифицируется посредством соответствующей пары из соответствующего идентификатора группы дорожек и соответствующего типа группы дорожек. Таким образом, предварительные выборы могут адресоваться (или идентифицироваться) посредством соответствующих идентификаторов групп дорожек, ассоциированных/связанных с ними.
Способ может также дополнительно содержать выбор предварительного выбора из полного набора предварительных выборов. В частности, предварительный выбор может выбираться на основе атрибутов (например, представленных в качестве метаданных или любой другой подходящей формы) соответствующего предварительного выбора, которые включены в поля групп дорожек с одинаковым идентификатором группы дорожек.
Способ также может содержать определение (например, идентификацию) набора из одного или более полей дорожек, вносящих вклад в выбранный предварительный выбор. В частности, набор из одного или более полей дорожек, вносящих вклад в (один и тот же) предварительный выбор, может определяться (идентифицироваться) посредством присутствия (соответствующего) поля группы дорожек с одинаковым идентификатором группы дорожек.
Кроме того, способ может дополнительно содержать определение, в качестве одной или более дорожек, вносящих вклад в предварительный выбор, дорожек, на которые имеется ссылка в каждом элементе набора из одного или более полей дорожек, как определено выше.
В завершение, способ может содержать обеспечение одной или более дорожек для последующей обработки в соответствии с предварительным выбором. Как отмечено выше, предварительный выбор в общем означает набор компонентов мультимедийного содержимого, которые предназначены для совместного потребления, например, одним или более подходящими последующими устройствами (или, в некоторых возможных случаях, называемых приёмниками), такими как мультимедийный декодер, мультимедийный проигрыватель и т.д. Как следствие, в зависимости от различных реализаций и/или требований, последующая обработка может содержать, не ограничиваясь, мультиплексирование (либо повторное мультиплексирование в некоторых возможных случаях), упорядочение, объединение, декодирование или рендеринг этих вносящих вклад дорожек, как подробнее описано ниже.
При вышеописанной конфигурации, предложенный способ в общем может обеспечивать эффективный, при этом гибкий способ определения/идентификации и последующей сигнализации дорожек в мультимедийном потоке, которые выполнены с возможностью внесения вклада в конкретный предварительный выбор, за счет этого обеспечивая дополнительно подходящую последующую обработку таких вносящих вклад дорожек (например, посредством одного или более последующих устройств). В частности, следует отметить, что способ, предложенный выше в первом аспекте в общем направлен на обеспечение релевантной информации для (всех) дорожек, которые выполнены с возможностью внесения вклада в конкретный предварительный выбор в связанном с предварительным выбором поле, за счет этого обеспечивая индексацию (или идентификацию) всех вносящих вклад дорожек. В этом смысле, такая индексация дорожек, как описано в первом аспекте, может рассматриваться в качестве своего рода прямой (непосредственной) индексации. Напротив, в способе, предложенном в настоящем втором аспекте, дорожки, вносящие вклад в конкретный предварительный выбор, могут совместно определяться посредством пары из типа группы дорожек и идентификатора группы дорожек. Более конкретно, дорожки, которые имеют (например, содержат) поле группы дорожек с конкретным (например, заданным или предварительно определенным) типом группы дорожек в общем могут указывать то, что упомянутые дорожки вносят вклад в предварительные выборы. Кроме того, дорожки, которые имеют одинаковый идентификатор группы дорожек в общем могут указывать, что эти дорожки относятся к (вносят вклад) одному и тому же предварительному выбору. В этом смысле, в отличие от того, что предлагается в первом аспекте, такая индексация дорожек, описанная в данном документе, может рассматриваться в качестве своего рода обратной индексации. В любом случае, аналогично первому аспекту, способ, предложенный во втором аспекте, также может предлагать возможность и способность сигнализации информации, указывающей предварительные выборы (и возможно их обработки) в файле транспортного слоя (например, ISOBMFF), унифицированным способом, который может считаться преимущественным в различных вариантах использования или сценариях. Например, такое унифицированное представление (или другими словами, агностическое по отношению к формату) предварительных выборов может использоваться для реализации унифицированной структуры данных для API мультимедийного проигрывателя (например, который должен использоваться посредством приложения или в качестве подключаемого модуля для веб-браузера), так что относящаяся к формату реализация в мультимедийных проигрывателях не требуется, в силу этого приводя к меньшим усилиям для реализации и/или тестирования, при этом одновременно с повышенной надежностью. В качестве другого примера, такое унифицированное представление предварительных выборов также может обеспечивать агностическую по отношению к формату реализацию обработки данных предварительного выбора в блоках формирования манифестов (например, файлов формата динамической адаптивной потоковой передачи MPEG по HTTP (DASH) или файлов формата передаваемого в реальном времени потока HTTP (HLS)), за счет этого исключая потребность в вычислительно более дорогих операциях для двоичных данных и при этом с уменьшенными усилиями по реализации и повышенной надежностью.
В некоторых примерных реализациях, каждый предварительный выбор может быть ассоциирован с соответствующим связанным с предварительным выбором полем заданного типа. В частности, связанное с предварительным выбором поле может создавать экземпляр (например, привносить, расширять и т.д.) поля группы дорожек с заданным типом группы дорожек, связанным с предварительным выбором. Такой заданный тип группы дорожек, связанный с предварительным выбором, может реализовываться посредством использования любых подходящих средств, таких как конкретная (заданная) строка (например, "preselection" или "pres"), конкретное (заданное) значение (например, "3") и т.п., как должны понимать и принимать во внимание специалисты в данной области техники. Вообще говоря, в способе, предложенном во втором аспекте в общем должно быть предусмотрено одно такое связанное с предварительным выбором поле в расчете на предварительный выбор и в расчете на дорожку, которое соответствует (вносит вклад) этому предварительному выбору. Для сравнения, в способе, предложенном в предшествующем первом аспекте в общем должно быть предусмотрено одно такое связанное с предварительным выбором поле в расчете на предварительный выбор.
В некоторых примерных реализациях, связанное с предварительным выбором поле может быть ассоциировано с полем обработки предварительного выбора, содержащим информацию обработки, указывающую то, как должны обрабатываться дорожки, вносящие вклад в предварительный выбор. Информация обработки может (непосредственно) включаться в или (косвенно) извлекаться из мультимедийного потока (или более конкретно, из множества полей (пакетизированного) мультимедийного потока) посредством использования любых подходящих средств, в зависимости от различных реализаций. Например, информация обработки также может содержаться в конкретном поле (например, конкретного (заданного) типа), которое может быть ассоциировано или связано с предварительным выбором или связанным с предварительным выбором полем (например, в качестве его подполя).
В некоторых примерных реализациях, связанное с предварительным выбором поле может быть ассоциировано с полем информации предварительного выбора, содержащим семантическую (или описательную) информацию, указывающую (например, атрибуты, характеристики и т.д.) предварительный выбор.
В некоторых примерных реализациях, информация обработки может содержать уникальные относящиеся к предварительному выбору данные для конфигурирования последующего устройства (например, последующего мультимедийного проигрывателя/декодера) с возможностью декодирования дорожек в соответствии с предварительным выбором. В зависимости от различных реализаций и/или требований, такие относящиеся к предварительному выбору данные могут содержать любую подходящую информацию (например, в некоторых случаях, относящуюся к кодеку информацию) и могут быть реализованы (представлены) в любых подходящих средствах (например, в целых числах, массивах, строках и т.д.).
В некоторых примерных реализациях, информация обработки может содержать информацию упорядочивания, указывающую порядок дорожек для упорядочения дорожек для дополнительной последующей обработки (например, декодирования, объединения и т.д.). Например, в некоторых возможных случаях, порядок дорожек может указывать то, в каком порядке дорожки должны передаваться в последующие устройства (например, в устройства декодирования). Аналогично вышеуказанному, такая информация упорядочивания может быть реализована как включенная в (под-)поле, которое ассоциировано или связано с информацией обработки.
В некоторых примерных реализациях, информация обработки может содержать информацию объединения, указывающую, должны ли одна или более дорожек объединяться с одной или более другими дорожками, например, для объединенной (последующей) обработки. Другими словами, в зависимости от реализации такой информации объединения, в некоторых случаях, некоторая дорожка(ки) может объединяться с некоторой другой дорожкой(ками) для последующей обработки; тогда как в некоторых других случаях, некоторая дорожка(ки) может трактоваться отдельно (например, маршрутизироваться в отдельные экземпляры декодирования). В частности, в некоторых возможных случаях, такое объединение также может называться «мультиплексированием либо любым другим подходящим термином. Специалистам в данной области техники следует понимать и учитывать, что объединение (мультиплексирование) дорожек может достигаться посредством использования любых подходящих средств (например, посредством присоединения последующей дорожки в конец предшествующей дорожки).
В некоторых примерных реализациях, способ может дополнительно содержать объединение одной или более дорожек в соответствии с информацией объединения и информацией упорядочивания.
В некоторых примерных реализациях, информация упорядочивания может содержать, для каждой дорожки, вносящей вклад в предварительный выбор, соответствующее порядковое значение дорожки для задания порядка дорожек для дорожек. Специалисты в данной области техники должны понимать и принимать во внимание, что различные подходящие правила могут определяться для задания порядка дорожек для дорожек посредством использования соответствующих порядковых значений дорожек. Как отмечено выше, в некоторых возможных случаях, порядок дорожек может указывать, в каком порядке дорожки должны передаваться в последующие устройства (например, в устройства декодирования). В таких случаях, возможная примерная реализация (но не в качестве ограничения любого вида) может состоять в том, что дорожка с меньшим порядковым значением дорожки (например, 1) должна передаваться в устройство декодирования раньше другой дорожки с большим порядковым значением дорожки (например, 3). В некоторых случаях, если несколько дорожек имеют равное порядковое значение, то упорядочение таких дорожек может более не быть релевантным или важным. Кроме того, аналогичным образом, информация объединения может содержать соответствующий флаг объединения для каждой дорожки, вносящей вклад в предварительный выбор. В частности, первое заданное значение (например, «1») флага объединения может указывать то, что соответствующая дорожка должна объединяться (или мультиплексироваться) с примыкающей дорожкой (например, с предшествующей или последующей дорожкой, в зависимости от различных реализаций такого флага объединения) в порядке дорожек, и второе заданное значение (например, «0») флага объединения, соответственно, может указывать, что соответствующая дорожка должна обрабатываться отдельно (например, подаваться/маршрутизироваться в отдельное последующее устройство декодирования). В связи с этим, объединение одной или более дорожек в соответствии с информацией объединения и информацией упорядочивания может содержать постепенное (или последовательное) сканирование дорожек в соответствии с порядком дорожек; и объединение дорожек в соответствии с соответствующими флагами объединения. Например, в некоторых возможных случаях, если флаг flag[i] объединения дорожки i задается равным «1», каждая выборка этой дорожки i может присоединяться к выборке(кам) дорожки со следующим более низким (или более высоким) порядковым значением дорожки (например, дорожки i-1 или i+1); тогда как с другой стороны, если флаг объединения дорожки задается равным «0», эта дорожка i может передаваться в отдельный экземпляр декодера. В качестве другого возможного примера в крайнем случае, когда все флаги объединения для дорожек задаются равными «0», с применением вышеприведенного понятия, дорожка затем должна распространяться в несколько (отдельных) последующих устройств (например, приёмников).
В некоторых примерных реализациях, способ может дополнительно содержать декодирование одной или более дорожек для воспроизведения мультимедийного потока согласно представлению мультимедиа, указываемому посредством предварительного выбора.
В некоторых примерных реализациях, одна или более дорожек могут декодироваться посредством последующего устройства (например, мультимедийного проигрывателя, телевизора, подключаемого модуля и т.д.).
В некоторых примерных реализациях, объединение одной или более дорожек и декодирование одной или более дорожек могут выполняться посредством одного отдельного устройства. Другими словами, может быть предусмотрен вариант использования, в котором объединение и декодирование работают в тандеме. Более конкретно, пример (но не в качестве ограничения) такого варианта использования может представлять собой пример, в котором определенный JavaScript API предположительно работает только с одним объединенным потоком, а не с несколькими потоками. В таком случае, один объект в общем может принимать несколько входящих потоков и объединять/мультиплексировать их, как проиллюстрировано выше, и впоследствии отправлять их в качестве одного объединенного потока по однопотоковому API для декодирования на другой стороне API. В некоторых возможных случаях, однопотоковый формат может представлять собой формат потока байтов на основе общего формата мультимедийных приложений (CMAF). Конечно, специалисты в данной области техники должны понимать и принимать во внимание, что в некоторых других случаях, объединение и декодирование дорожек могут выполняться посредством различных (отдельных) устройств. В качестве иллюстративного примера (но не в качестве ограничения), телевизор может реализовывать объединение потока, как проиллюстрировано выше, но отправлять объединенный поток в отдельное последующее устройство, такое как звуковая панель для последующего декодирования.
В некоторых примерных реализациях, предварительный выбор может выбираться (или определяться) посредством приложения (например, приложения, управляющего мультимедийным проигрывателем/декодером). Например, в некоторых возможных случаях, приложение может быть выполнено с возможностью (например, на основе заданного алгоритма) (автоматического) выбора (или определения) предварительного выбора, например, соответствующего конкретной компоновке (например, окружения декодирования или представления).
В некоторых примерных реализациях, мультимедийный поток может содержать одно или более полей меток (которые могут быть ассоциированы или связаны с соответствующими предварительными выборами или связанными с предварительным выбором полями), содержащих информацию описания для соответствующего представления мультимедиа пользователю, соответствующему соответствующему предварительному выбору. Соответственно, в таких случаях, выбор (или определение) предварительного выбора может выполняться на основе ввода пользователя. В качестве примера (но не в качестве ограничения), поля меток могут содержать информацию описания, указывающую выбираемые субтитры различных языков (например, для английского языка, немецкого языка, китайского языка и т.д.), каждый из которых может считаться соответствующим предварительным выбором (представлением), так что пользователь (например, при управлении приложением) может выбирать (например, посредством щелчка мыши или клавиатуры) соответствующую языковую настройку соответствующим образом. Конечно, специалисты в данной области техники должны понимать и принимать во внимание, что выбор (или определение) предварительного выбора также может выполняться в любых других подходящих средствах.
В некоторых примерных реализациях, мультимедийный поток может содержать по меньшей мере одно из аудиопотока или видеопотока (либо их сочетание), как проиллюстрировано выше. В частности, некоторые возможные сценарии (или варианты использования), в которых способы, предложенные в настоящем изобретении, могут применяться, например, могут представлять собой видеоконференц-связь для нескольких человек (при которой зритель может иметь возможность выбора одного или более видеопотоков); или представлять собой телевизор с возможностями «картинка в картинке» (например, с одной картинкой, имеющей более высокую скорость передачи битов/разрешение, и другой картинкой, имеющей более низкую скорость передачи битов/разрешение).
Согласно третьему аспекту настоящего изобретения предложен способ обработки мультимедийного потока. Мультимедийный поток может представлять собой аудиопоток, видеопоток либо их сочетание. Способ может осуществляться для окружения на стороне кодирования (например, мультимедийного кодера). В некоторых сценариях (или вариантах использования), такой кодер также может упоминаться как «модуль (мультимедийного) пакетирования» (т.е. выполненный с возможностью пакетирования/пакетизации мультимедийных входных данных).
В частности, способ может содержать инкапсуляцию одного или более элементарных потоков в соответствии с заданным транспортным форматом для формирования пакетизированного мультимедийного потока, при этом пакетизированный мультимедийный поток содержит множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля. Аналогично вышеуказанному, заданный транспортный формат может представлять собой базовый формат мультимедийных файлов (ISOBMFF), указанный в части 12 ISO/IEC 14496-12 MPEG-4 от ISO, либо любой другой подходящий (транспортный) формат. Вообще говоря, специалисты в данной области техники могут понимать и принимать во внимание, что элементарный поток может рассматриваться как формирующий сжатое двоичное представление (мультимедийных) данных, вытекающих из одного мультимедийного кодера в мультимедийный декодер (аудио или видео). При мультиплексировании (или пакетизации) в заданный транспортный формат (например, ISOBMFF), эти элементарные потоки затем могут называться «дорожками», при этом «поле дорожек» описывает свойства (или атрибуты) каждой дорожки в заголовке файла. Кроме того, как также описано выше, множество полей (либо упоминаемых с использованием любых других подходящих терминов) могут иметь, в зависимости от различных реализаций и/или требований, равные либо различные уровни (или положения), быть вложенными (дочернее/под-поле в сравнении с родительским полем) и т.д., как должны понимать и принимать во внимание специалисты в данной области техники.
Более конкретно, инкапсуляция одного или более элементарных потоков может содержать: пакетизацию мультимедийных данных одного или более элементарных потоков в соответствии с транспортным форматом для формирования одного или более полей дорожек, ссылающихся (или указывающих) на соответствующие дорожки одного или более элементарных потоков; и формирование одного или более связанных с предварительным выбором полей заданного типа на основе информации заголовка одного или более элементарных потоков, при этом каждое из одного или более связанных с предварительным выбором полей указывает соответствующий предварительный выбор, который соответствует представлению мультимедиа пользователю.
При вышеописанной конфигурации, предложенный способ в общем может обеспечивать эффективный, при этом гибкий способ пакетизации мультимедийного ввода (например, элементарных потоков) в соответствии с заданным транспортным форматом (например, ISOBMFF). Более конкретно, посредством формирования и включения одного или более связанных с предварительным выбором полей (каждое из которых указывает соответствующий предварительный выбор) вместе с пакетизированным мультимедийным потоком, предложенный способ также может обеспечивать возможность представлять предварительные выборы унифицированным способом, агностическим по отношению к кодекам, за счет этого дополнительно обеспечивая соответствующую последующую обработку дорожек, вносящих вклад в соответствующий предварительный выбор (например, согласно способам, предложенным в предшествующих первом и втором аспектах). Помимо этого, как проиллюстрировано выше, такое унифицированное представление предварительных выборов также может обеспечивать агностическую по отношению к формату реализацию обработки данных предварительного выбора в блоках формирования манифестов (например, файлов формата динамической адаптивной потоковой передачи MPEG по HTTP (DASH) или файлов формата передаваемого в реальном времени потока HTTP (HLS)), за счет этого исключая потребность в вычислительно более дорогих операциях для двоичных данных и, в то же время, с уменьшенными усилиями по реализации и повышенной надежностью.
В некоторых примерных реализациях, каждое из одного или более связанных с предварительным выбором полей может содержать информацию метаданных, указывающую характеристики соответствующего предварительного выбора. Более конкретно, информация метаданных может содержать информацию, указывающую одну или более дорожек в мультимедийном потоке, вносящих вклад в соответствующий предварительный выбор. Специалисты в данной области техники должны понимать и принимать во внимание, что информация метаданных, проиллюстрированная выше, может (непосредственно) включаться в или (косвенно) извлекаться из мультимедийного потока (или более конкретно, из множества полей (пакетизированного) мультимедийного потока) посредством использования любых подходящих средств, в зависимости от различных реализаций. Например, информация метаданных может содержаться/включаться в поле заголовка (и т.п.), которое может быть тем или иным образом ассоциировано или связано со связанным с предварительным выбором полем (например, в качестве его подполя).
В некоторых примерных реализациях, информация метаданных, соответствующая соответствующему связанному с предварительным выбором полю, может дополнительно содержать по меньшей мере одно из: идентификационной информации предварительного выбора, указывающей идентификатор предварительного выбора для идентификации соответствующего предварительного выбора или уникальных относящихся к предварительному выбору данных (например, для конфигурирования последующего устройства, такого как последующий мультимедийный декодер) с возможностью декодирования дорожек в соответствии с предварительным выбором.
В некоторых примерных реализациях, инкапсуляция элементарного мультимедийного потока может дополнительно содержать формирование одного или более полей групп дорожек, ассоциированных с (парой) из соответствующего идентификатора группы дорожек и соответствующего типа группы дорожек, которые совместно идентифицируют соответствующую группу дорожек в пакетизированном мультимедийном потоке. В частности, дорожки, имеющие одинаковый идентификатор группы дорожек и одинаковый тип группы дорожек, могут считаться относящимися к одной и той же группе дорожек. Кроме того, формирование одного или более связанных с предварительным выбором полей может содержать: назначение первого уникального идентификатора каждому предварительному выбору; и формирование, для каждой дорожки, вносящей вклад в соответствующий предварительный выбор, соответствующего связанного с предварительным выбором поля, ассоциированного с соответствующим предварительным выбором, при этом связанное с предварительным выбором поле создает экземпляр поля группы дорожек с заданным типом группы дорожек, связанным с предварительным выбором и задающим идентификатор группы дорожек в качестве первого уникального идентификатора. Такой заданный тип группы дорожек, связанный с предварительным выбором, может реализовываться посредством использования любых подходящих средств, таких как конкретная (заданная) строка (например, "preselection" или "pres"), конкретное (заданное) значение (например, 3) и т.п., как должны понимать и принимать во внимание специалисты в данной области техники. Вообще говоря, в способе, предложенном в данном документе в общем должно быть предусмотрено одно такое связанное с предварительным выбором поле в расчете на предварительный выбор и в расчете на дорожку, которое соответствует (вносит вклад) этому предварительному выбору.
В некоторых примерных реализациях, поле группы дорожек может формироваться посредством группировки дорожек, вносящих вклад в один предварительный выбор, на основе соответствующего типа мультимедиа дорожек.
В некоторых примерных реализациях, тип мультимедиа может включать в себя по меньшей мере одно из: аудиоданных, видеоданных и субтитров. Конечно, также может использоваться любой другой подходящий тип мультимедиа, как должны понимать и принимать во внимание специалисты в данной области техники.
В некоторых примерных реализациях, формирование одного или более связанных с предварительным выбором полей может дополнительно содержать: формирование одного или более полей обработки предварительного выбора, содержащих информацию обработки, указывающую то, как должны обрабатываться дорожки, вносящие вклад в соответствующий предварительный выбор. Информация обработки может (непосредственно) включаться в или (косвенно) извлекаться из мультимедийного потока (или более конкретно, из множества полей (пакетизированного) мультимедийного потока) посредством использования любых подходящих средств, в зависимости от различных реализаций. Например, информация обработки также может содержаться в конкретном поле (например, конкретного (заданного) типа), которое может быть тем или иным образом ассоциировано или связано с предварительным выбором или связанным с предварительным выбором полем (например, в качестве его подполя).
В некоторых примерных реализациях, информация обработки может содержать по меньшей мере одно из: информации упорядочивания, указывающей порядок дорожек для обработки дорожек, или информации объединения, указывающей, должны ли быть одна или более дорожек объединены с другими одной или более дорожками (например, для объединенной (последующей) обработки). Например, в некоторых возможных случаях, порядок дорожек может указывать, в каком порядке дорожки должны передаваться в последующие устройства (например, в устройства декодирования). Кроме того, в зависимости от реализации информации объединения, в некоторых случаях, некоторая дорожка(ки) может объединяться с некоторой другой дорожкой(ками) для последующей обработки; тогда как в некоторых других случаях, некоторая дорожка(ки) может трактоваться отдельно (например, маршрутизироваться в отдельные экземпляры декодирования). Аналогично вышеуказанному, информация упорядочивания, а также информация объединения может реализовываться как содержащая (под-)поле (или более), которое ассоциируется или связывается с информацией обработки.
В некоторых примерных реализациях, способ может дополнительно содержать: прием по меньшей мере одного входного мультимедиа; и обработку (например, кодирование) входного мультимедиа для формирования одного или более элементарных потоков, при этом один или более элементарных потоков содержат мультимедийные данные входного мультимедиа и соответствующую информацию заголовка. Например, входное мультимедиа может обрабатываться (например, кодироваться) посредством использования подходящего мультимедийного кодера для формирования соответствующих элементарных потоков соответствующим образом.
В некоторых примерных реализациях, способ может дополнительно содержать формирование файла манифеста на основе одного или более связанных с предварительным выбором полей. Вообще говоря, файл манифеста обычно может содержать различную информацию, например, информацию относительно мультимедийного потока (такую как тип мультимедиа, атрибут кодека, относящиеся к мультимедиа свойства и т.д.). Помимо этой информации (т.е. связанной с мультимедийным потоком как таковым), предложенный способ может дополнительно включать в себя информацию, ассоциированную с предварительными выборами. Связанная с предварительным выбором информация может содержать, не ограничиваясь, информацию метаданных, информацию обработки и т.п. По сравнению с традиционными технологиями, предложенный способ для формирования файлов манифеста в общем может предлагать агностическую по отношению к формату реализацию для обработки связанных с предварительным выбором данных, за счет этого исключая вычислительно более дорогие операции (например, которые должны выполняться для двоичных данных в традиционных технологиях), уменьшая усилия по реализации и/или тестированию и повышая надежность.
В некоторых примерных реализациях, файл манифеста может представлять собой файл формата динамической адаптивной потоковой передачи MPEG по HTTP (DASH), файл формата передаваемого в реальном времени потока HTTP (HLS) либо любой другой подходящий файл формата манифестов, как следует понимать и учитывать специалистам в данной области техники.
Согласно четвертому аспекту настоящего изобретения предложен способ обработки мультимедийного потока. Мультимедийный поток может представлять собой аудиопоток, видеопоток либо их сочетание. Способ может осуществляться, например, блоком формирования манифестов.
В частности, способ может содержать прием мультимедийного потока, пакетизированного в соответствии с заданным транспортным форматом. В частности, пакетизированный мультимедийный поток может содержать множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля, при этом множество полей могут содержать одно или более полей дорожек, ссылающихся (например, указывающих) на соответствующие дорожки, указывающие мультимедийные компоненты мультимедийного потока, и одно или более связанных с предварительным выбором полей заданного типа, и при этом каждое связанное с предварительным выбором поле указывает соответствующий предварительный выбор, который соответствует представлению мультимедиа пользователю.
Кроме того, способ также может содержать формирование файла манифеста на основе одного или более связанных с предварительным выбором полей.
При вышеописанной конфигурации, предложенный способ в общем может обеспечивать эффективный, при этом гибкий способ формирования файла манифеста с учетом также связанной с предварительным выбором информации (например, информации описания и/или информации, связанной с обработкой). Более конкретно, помимо информации, связанной с мультимедийным потоком(ами), предложенный способ может дополнительно включать в себя информацию, ассоциированную с предварительными выборами. Связанная с предварительным выбором информация может содержать, не ограничиваясь, информацию метаданных, информацию обработки и т.п. По сравнению с традиционными технологиями (формирования манифестов), предложенный способ для формирования файла манифеста в общем может предлагать агностическую по отношению к формату реализацию для обработки связанных с предварительным выбором данных, за счет этого исключая вычислительно более дорогие операции (например, которые должны выполняться для двоичных данных в традиционных технологиях), уменьшая усилия по реализации и/или тестированию и повышая надежность.
В некоторых примерных реализациях, файл манифеста может представлять собой файл формата динамической адаптивной потоковой передачи MPEG по HTTP (DASH), файл формата передаваемого в реальном времени потока HTTP (HLS) либо любой другой подходящий файл формата манифестов, как должны понимать и принимать во внимание специалисты в данной области техники.
В некоторых примерных реализациях, представление мультимедиа пользователю может отличаться посредством соответствующей конфигурации, связанной с языком, видом и/или одним или более относящихся к мультимедиа атрибутов мультимедийного потока. Конечно, также может использоваться любая другая подходящая конфигурация, в зависимости от различных реализаций.
В некоторых примерных реализациях, заданный транспортный формат может представлять собой базовый формат мультимедийных файлов по стандарту ISO (ISOBMFF) или любой другой подходящий транспортный формат.
Согласно пятому аспекту настоящего изобретения, предложено устройство обработки мультимедийных потоков, включающее в себя процессор и запоминающее устройство, соединенное с процессором. Процессор может быть выполнен с возможностью предписания устройству обработки мультимедийных потоков выполнять все этапы согласно любому из примерных способов, описанных в вышеприведенных аспектах.
Согласно шестому аспекту настоящего изобретения, предложена компьютерная программа. Компьютерная программа может включать в себя инструкции, которые, при выполнении посредством процессора, предписывают процессору выполнять все этапы способов, описанных в настоящем описании.
Согласно седьмому аспекту настоящего изобретения предложен машиночитаемый носитель данных. Машиночитаемый носитель данных может сохранять вышеуказанную компьютерную программу.
Следует принимать во внимание, что признаки устройства и этапы способа могут меняться местами множеством способов. В частности, подробности раскрытого способа(ов) могут быть реализованы соответствующим устройством (или системой), и наоборот, как следует понимать специалистам в данной области техники. Кроме того, следует понимать, что любые из вышеуказанных утверждений, приведенных относительно способа(ов), аналогично применяются к соответствующему устройству (или системе), и наоборот.
Краткое описание чертежей
Ниже пояснены примерные варианты осуществления настоящего изобретения с обращением к сопровождающим чертежам, на которых аналогичные ссылочные позиции указывают на аналогичные элементы, и при этом:
Фиг. 1A является схематичной иллюстрацией, показывающей примерную реализацию интерфейса прикладного программирования (API) мультимедийного проигрывателя,
Фиг. 1B является схематичной иллюстрацией, показывающей примерную реализацию API мультимедийного проигрывателя согласно вариантам осуществления настоящего изобретения,
Фиг. 2 является схематичной иллюстрацией, показывающей примерную реализацию системы обработки мультимедийных потоков согласно вариантам осуществления настоящего изобретения,
Фиг. 3A является схематичной иллюстрацией, показывающей примерную реализацию модуля пакетирования,
Фиг. 3B является схематичной иллюстрацией, показывающей примерную реализацию модуля пакетирования согласно вариантам осуществления настоящего изобретения,
Фиг. 4A является схематичной иллюстрацией, показывающей примерную реализацию блока формирования манифестов,
Фиг. 4B является схематичной иллюстрацией, показывающей примерную реализацию блока формирования манифестов согласно вариантам осуществления настоящего изобретения,
Фиг. 5 является блок-схемой, иллюстрирующей пример способа обработки мультимедийного потока согласно вариантам осуществления настоящего изобретения,
Фиг. 6 является блок-схемой, иллюстрирующей другой пример способа обработки мультимедийного потока согласно вариантам осуществления настоящего изобретения,
Фиг. 7 является блок-схемой, иллюстрирующей дополнительный пример способа обработки мультимедийного потока согласно вариантам осуществления настоящего изобретения,
Фиг. 8 является блок-схемой, иллюстрирующей еще один другой пример способа обработки мультимедийного потока согласно вариантам осуществления настоящего изобретения, и
Фиг. 9 является принципиальной блок-схемой примерного устройства для осуществления способов согласно вариантам осуществления настоящего изобретения.
Осуществление изобретения
Как указано выше, в настоящем описании одинаковые или аналогичные ссылочные позиции, если не указано иное, могут указывать одинаковые или аналогичные элементы, так что их повторное описание может не приводиться ради краткости.
В частности, чертежи (фиг.) и нижеприведенное описание относятся к предпочтительным вариантам осуществления только в качестве иллюстрации. Следует отметить, что, из нижеприведенного пояснения, альтернативные варианты осуществления структур и способов, раскрытых в данном документе, должны легко признаваться в качестве практически осуществимых альтернатив, которые могут использоваться без отступления от принципов, заявленных в формуле изобретения.
Далее приводится подробное описание нескольких вариантов осуществления, примеры которых проиллюстрированы на прилагаемых чертежах. Следует отметить, что если осуществимо на практике, аналогичные или похожие ссылки с номерами могут использоваться на чертежах и могут указывать аналогичную или похожую функциональность. Чертежи иллюстрируют варианты осуществления раскрытой системы (или способа) только для целей иллюстрации. Специалисты в данной области техники должны с легкостью определить из нижеследующего описания, что альтернативные варианты осуществления структур и способов, проиллюстрированных в данном документе, могут использоваться без отступления от принципов, описанных в данном документе.
Кроме того, на чертежах, на которых соединительные элементы, такие как сплошные или пунктирные линии либо стрелки, используются для иллюстрации соединения, взаимосвязи или ассоциации между двумя или более другими схематичными элементами, отсутствие таких соединительных элементов не предназначено, чтобы подразумевать, что не может иметь место соединение, взаимосвязь или ассоциация. Другими словами, некоторые соединения, взаимосвязи или ассоциации между элементами не показаны на чертежах, чтобы не затруднять понимание настоящего изобретения. Помимо этого, для простоты иллюстрации, один соединительный элемент используется для представления множества соединений, взаимосвязей или ассоциаций между элементами. Например, если соединительный элемент представляет обмен сигналами, данными или инструкциями, специалисты в данной области техники должны понимать, что такой элемент представляет один или более трактов передачи сигналов, по мере необходимости, чтобы затрагивать связь.
Как указано выше, в широком смысле, этот документ в общем направлен на предложение технологий для создания концепции предварительных выборов в контексте файлов ISOBMFF, за счет этого позволяя дополнять доступность в MPEG DASH и различных других форматах мультимедийного сжатия.
Таким образом, примерные варианты осуществления, описанные в данном документе, могут относиться к способам, устройствам и процессам, которые направлены на различные варианты использования «предварительных выборов».
Перед подробным описанием для описания примерных вариантов осуществления, по-прежнему стоит описывать некоторые возможные терминологии, которые могут использоваться в настоящем описании, для простоты понимания, даже если, некоторые из них, возможно, уже (кратко) пояснены выше.
В частности, для целей этого документа, относительно «предварительных выборов» такой термин должен в общем означать набор из одного или более компонентов мультимедиа (мультимедийного содержимого) для одновременного декодирования/представления, как описано, например, в MPEG DASH (ISO/IEC 23009-1). Специалистам в данной области техники следует понимать и учитывать, что в некоторых других возможных технических контекстах, «предварительные выборы» также могут быть известными (или упоминаться) посредством использования других подходящих (сравнимых) терминов, таких как (не ограничиваясь) «представления», как описано, например, в ETSI TS 103190-2, или «предварительные установки», как описано, например, в ISO/IEC 23008-3, и т.д.
Что касается "AdaptationSet", такой термин должен в общем определяться, как описано сравнительно в MPEG DASH (ISO/IEC 23009-1), и аналогично тому, что описано выше, также он может быть известен (упоминаться) в виде других терминов, таких как "SwitchingSet", как определено в общем формате мультимедийных приложений (CMAF).
Что касается «представления», такой термин должен в общем определяться так, как описано в MPEG DASH (ISO/IEC 23009-1), и также он может быть известен как «аудиодорожка» (например, как определено в API W3C) либо как «список дорожек» или «дорожка» (например, как определено в ISOBMFF).
Что касается «компонента мультимедийного содержимого», такое словосочетание/термин должны в общем означать один непрерывный компонент мультимедийного содержимого с назначенным типом компонента мультимедийного содержимого, например, как описано в MPEG DASH (ISO/IEC 23009-1).
Что касается «типа компонента мультимедийного содержимого», такое словосочетание/термин должно в общем означать один тип мультимедийного содержимого, например, как описано в MPEG DASH (ISO/IEC 23009-1). Специалисты в данной области техники должны понимать и учитывать, что примеры типа компонента мультимедийного содержимого могут включать в себя, не ограничиваясь, аудиоданные, видеоданные, текст или любой другой подходящий тип.
Что касается «поля», такой термин должен в общем означать объектно-ориентированный компоновочный блок, определяемый уникальным идентификатором типа и длиной, например, как описано в ISO 14496-12. Аналогично тому, что описано выше, можно отметить, что термин «поле» в некоторых спецификациях (включая первое определение MP4), в качестве альтернативы, может называться «атомом» или любыми другими подходящими аналогичными терминами.
Что касается «контейнерного поля», такое словосочетание/термин должны в общем означать поле, единственная цель которого состоит в том, чтобы содержать и группировать набор связанных (под-)полей, например, как описано в ISO 14496-12. Тем не менее, следует отметить, что контейнерные поля обычно не извлекаются из «полного поля».
Наконец, что касается «базового мультимедийного файла по стандарту ISO», такое словосочетание/термин должно в общем означать файл, соответствующий формату файлов (т.е. ISOBMFF), как указано в ISO 14496-12.
Следовательно, если явным образом не указано иное, проиллюстрированные выше термины и/или словосочетания могут использоваться взаимозаменяемо, как следует понимать и учитывать специалистам в данной области техники.
Также стоит сначала описать некоторые возможные варианты использования (сценарии), связанные с предварительными выборами, в частности, с абстрактной и общей точки зрения, до перехода к техническим подробностям соответствующих примерных вариантов осуществления.
Обращаясь к чертежам, фиг. 1A является схематичной иллюстрацией, показывающей примерную реализацию интерфейса прикладного программирования (API) мультимедийного проигрывателя. Другими словами, фиг. 1A может рассматриваться в качестве примерного варианта использования выбора (предварительного выбора) представления в мультимедийном проигрывателе. Более конкретно, пример по фиг. 1A в общем считается одной возможной реализацией для поддержки предварительного выбора, посредством использования традиционных технологий.
В широком смысле, хотя некоторое мультимедийное содержимое может передаваться с использованием такого средства, как MPEG DASH, которое в общем использует файлы манифеста, некоторые инфраструктуры проигрывателей могут просто потреблять содержимое в формате ISOBMFF. Как следствие, мультимедийные проигрыватели на основе такой архитектуры должны обеспечивать выбор представления на основе информации метаданных, которая содержится в только ISOBMFF и, как результат, более не может основываться на передаче служебных сигналов из файла(ов) манифеста.
Как показано на фиг. 1A мультимедийный проигрыватель 1200 принимает входное мультимедиа 1000 (или файл) для формирования соответствующего вывода/представления 1400 мультимедиа. Входное мультимедиа 1000 может представлять собой (пакетизированный) файл или поток формата контейнеров (например, ISOBMFF-файл или поток). Мультимедийный проигрыватель 1200 управляется посредством подходящего приложения 1300. Традиционные средства управления таким приложением 1300 и, соответственно, также мультимедийным проигрывателем 1200 могут включать в себя, не ограничиваясь, «воспроизведение», «паузу», «остановку», «перемотку вперед», «перемотку назад» и т.д. Тем не менее, при использовании аудиостандарта следующего поколения (или аналогичных видеотехнологий), мультимедийный проигрыватель 1200, возможно, должен представлять список доступных восприятий (или представлений) в приложение 1300 и, в ответ, принимать требуемый выбор из него. Это в общем может реализовываться в API 1290 между мультимедийным проигрывателем 1200 и приложением 1300.
Вообще говоря, входящий ISOBMFF 1000 предусматривает (включает в себя) метаданные в относящемся к формату контейнеров представлении 1010 (например, реализованном как одно или более полей или в любых других подходящих формах), а также элементарный мультимедийный поток(и) 1020. В частности, такие метаданные 1010 формата контейнеров могут размещаться в качестве байтовых данных, которые в общем могут быть относящимися к кодеку. Кроме того, непосредственно элементарный поток 1020 может содержать информационные данные 1030 заголовка (либо, в некоторых случаях, также могут упоминаться как «своего рода метаданные») (которые обычно имеют форму двоичных данных), а также кодированные (или сжатые) мультимедийные данные 1040 (которые являются аналогичными двоичным метаданным 1030, обычно в форме двоичных данных). Специалисты в данной области техники могут понимать и принимать во внимание, что, вообще говоря, элементарные потоковые данные 1040 обычно могут представляться в двоичной информации (битовых данных), тогда как данные 1010 контейнера обычно могут использовать байтовые данные.
Кроме того, как показано на фиг. 1A, непосредственно мультимедийный проигрыватель 1200 может содержать несколько реализаций 1220 (или экземпляров) декодера для большого количества различных мультимедийных форматов (либо, другими словами, быть относящимся к формату или к кодеку), что требует от мультимедийного проигрывателя 1200, соответственно, необходимости также обеспечивать подходящий выбирающий элемент/компонент 1210 (либо называемый просто «модулем выбора») для распаковки элементарного потока из данных формата контейнеров и решения, какой мультимедийный декодер 1220 следует использовать. Это решение в общем основано на метаданных 1010 формата контейнеров, как упомянуто выше.
Как подробнее показано на фиг. 1A, декодеры 1220 с поддержкой предварительного выбора обеспечивают (например, формируют) связанные с предварительным выбором данные 1230. Такие относящиеся к кодеку данные 1230 должны преобразовываться в агностический по отношению к кодеку обобщенный формат 1250 посредством соответствующих преобразователей 1240 форматов, для потребления посредством приложения 1300 через соответствующий API 1290 (который обычно является агностическим по отношению к кодеку).
В общем, операции, связанные с распаковкой элементарного потока, преобразованием относящихся к кодеку/формату данных в агностический по отношению к кодеку обобщенный формат, могут приводить к (нежелательной) дополнительной работе (например, для реализации, для тестирования и т.д.) общей процедуры и в силу этого могут считаться неэффективными в некоторой степени.
Чтобы разрешать некоторые или все проблемы, как пояснено относительно фиг. 1A, фиг. 1B схематично иллюстрирует примерную реализацию API мультимедийного проигрывателя согласно вариантам осуществления настоящего изобретения. В частности, как указано выше, одинаковые или аналогичные ссылочные позиции на фиг. 1B, если не указано иное, могут указывать одинаковые или аналогичные элементы на фиг. 1A, так что их повторное описание может опускаться по причинам краткости.
В частности, по сравнению с фиг. 1A, мультимедийный проигрыватель 1201, как показано на фиг. 1B, более не должен считывать соответствующий API каждого декодера 1221, переформатируя свой вывод и обеспечивая данные независимо от формата.
Вместо этого, за счет новой структуры 1051 данных (обычно в байтовом формате), связанной с предварительным выбором (как пояснено подробнее ниже) во входящем ISOBMFF-файле или потоке 1001, мультимедийный проигрыватель 1201 может просто представлять эти данные 1051 в приложение 1301 в своем соответствующем API 1291. Главная причина состоит в том, что такие связанные с предварительным выбором данные 1051 являются агностическими по отношению к кодеку.
При предложенной конфигурации, этот подход в общем исключает необходимость реализовывать несколько зависимых от формата преобразователей форматов метаданных (например, преобразователей 1240 форматов, как показано на фиг. 1A). Кроме того, предложенный подход также неявно задает унифицированную структуру данных, которая может использоваться для представления связанных с предварительным выбором метаданных (например, новой структуры 1051 данных) в API 1291 мультимедийного проигрывателя. Другими словами, за счет новых предложенных структур данных, мультимедийные проигрыватели могут теперь иметь возможность обеспечивать доступность содержащейся информации через соответствующие API таким образом, чтобы запрашивать приложение на предмет необходимости выбора требуемого представления (предварительного выбора). Более конкретно, этот подход работает агностически по отношению к кодеку и обеспечивает облегченный подход, поскольку он исключает необходимость синтаксически анализировать в кодированную мультимедийную сущность.
Если обобщать, специалисты в данной области техники также должны понимать и принимать во внимание, что предложенный выше подход для варианта использования API мультимедийного проигрывателя в общем предлагает по меньшей мере следующие преимущества, а именно:
- унифицированное представление для предварительных выборов на верхнем уровне в транспортном формате данных, таком как ISOBMFF;
- унифицированная структура данных для API мультимедийного проигрывателя;
- относящаяся к формату реализация в мультимедийных проигрывателях не требуется; и
- меньшие усилия для разработчиков, меньшие усилия по тестированию, повышенная надежность и быстрое внедрение в отрасли.
Фиг. 2 является схематичной иллюстрацией, показывающей примерную реализацию системы обработки мультимедийных потоков согласно вариантам осуществления настоящего изобретения. В частности, фиг. 2 может рассматриваться как схематично показывающий возможный полный поток обработки для такой системы обработки мультимедиа.
В частности, как показано на фиг. 2, аналогично варианту использования мультимедийного проигрывателя, описанному в отношении фиг. 1A и 1B, (автоматизированным) блокам 2500 формирования манифестов, возможно, также требуется доступ к восприятиям (представлениям), содержащимся во входящих мультимедийных данных. Поскольку в общем большое количество используемых кодеков, вероятно, должны обрабатываться в такой системе обработки, эти устройства 2500 предпочтительно должны работать с агностическими по отношению к кодеку метаданными. Кроме того, поскольку боковые тракты передачи данных также являются нежелательными для надежной работы, в общем любая структура метаданных, которая должна использоваться возможно должна быть всесторонней и обеспечивать все подробности, которые должны показываться в манифестах (либо в файлах манифеста).
В примерном системном потоке обработки, как показано на фиг. 2, мультимедийные (например, аудио- и/или видео-) кодеры 2100-A, 2100-B и 2100-C в общем формируют кодированные мультимедийные потоки 2200-A, 2200-B и 2200-C в различных форматах (например, MP3, MP4, AC-4 и т.д.). Эти элементарные потоки 2200-A-C затем подаются в модули 2300-A, 2300-B и 2300-C пакетирования для инкапсуляции в унифицированный транспортный формат, такой как ISOBMFF.
Затем каждый из этих файлов ISOBMFF или потоков 2400-A, 2400-B и 2400-C может распространяться в соответствующие мультимедийные проигрыватели (не показаны), но также может распространяться в блок 2500 формирования манифестов для формирования соответствующего файла 2600 манифеста в качестве вывода. Такой файл (например, файл формата MPEG DASH или файл формата HLS) зачастую может представляться в машино- и/или человекочитаемом формате, таком как XML (расширяемый язык разметки).
Ниже, обращаясь к фиг. 3A, приведена примерная схема, иллюстрирующая возможную реализацию модуля пакетирования (например, модуля 2300-A-C пакетирования).
В частности, как показано относительно фиг. 3A, входящий элементарный мультимедийный поток 3200 (например, элементарные потоки 2400-A-C, как проиллюстрировано на фиг. 2), состоящий из (двоичной) информации или метаданных 3210 мультимедийных заголовков и (двоичной) кодированной/сжатой (необработанной) мультимедийной информации/данных 3220, затем пакетируется в выходной файл или поток 3400 формата контейнеров (например, ISOBMFF).
Более конкретно, в этом процессе, модуль 3300 пакетирования в общем передает входящие потоковые данные 3200 неизмененным способом в соответствующее выходное представление 3420. Подходящее внутреннее устройство 3310 (или компонент) модуля 3300 пакетирования может считывать двоичную информацию заголовка/метаданные 3210 для формирования соответствующей информации описательных метаданных, но в байтовом формате 3410 для мультимедийного вывода 3400. Такое устройство 3310 (или компонент) модуля 3300 пакетирования, например, может представлять собой блок формирования относящейся к декодеру информации (DSI) или любой другой подходящий компонент. Эти данные 3410 могут впоследствии использоваться посредством соответствующих мультимедийных проигрывателей (например, мультимедийного проигрывателя 1200, как показано на фиг. 1A) для выбора соответствующего декодера (например, декодера 1220, как показано на фиг. 1A). В примерном варианте использования ISOBMFF, эти описательные байтовые данные 3410 могут включать в себя, в числе других, относящуюся к декодеру информацию (DST для краткости), но также и определенные общие примечания по элементарным потокам. Как проиллюстрировано выше, элементарные потоки могут называться «дорожками» при инкапсуляции в определенных форматах файлов, таких как ISOBMFF.
По сравнению с реализацией по фиг. 3A, фиг. 3B схематично иллюстрирует возможную примерную реализацию модуля пакетирования согласно вариантам осуществления настоящего изобретения. Аналогично тому, что описано выше, одинаковые или аналогичные ссылочные позиции на фиг. 3B, если не указано иное, могут указывать на одинаковые или аналогичные элементы на фиг. 3A, так что их повторное описание может опускаться по причинам краткости.
Более конкретно, как показано относительно фиг. 3B, модуль 3301 пакетирования может теперь содержать дополнительное (внутреннее) устройство/компонент 3321 (которое может, в некоторых возможных случаях, упоминаться как «блок формирования данных предварительного выбора»), которое также содержит двоичную информацию 3211 заголовка входящего мультимедийного потока 3201. В некоторых возможных случаях, функциональность этого устройства 3321 также может быть реализована в виде дополнительной функциональности в качестве части существующего (внутреннего) устройства 3311. Тем не менее, как явно показано на фиг. 3B, в таких случаях дополнительная указанная в байтовом формате структура 3451 данных формируется и встраивается в выходной поток 3400. В частности, как проиллюстрировано выше, эта структура 3451 данных в общем переносит (агностическую по отношению к кодеку) связанную с предварительным выбором информацию (например, информацию описания и/или информацию, связанную с обработкой) и независимое от мультимедийного формата представление.
Фиг. 4A является схематичной иллюстрацией примерной реализации блока формирования манифестов.
В частности, как показано в отношении фиг. 4A, блок 4500 формирования манифестов в общем считывает входной файл или поток 4400 (например, файл ISOBMFF) для формирования требуемой информации для соответствующего файла 4600 манифеста. Такие требуемые данные могут включать в себя информацию в отношении мультимедийного потока 4620, такую как соответствующий тип мультимедиа (иногда также называемый «типом MIME»), атрибуты кодека, а также свойства, относящиеся к мультимедиа. Вся информация может формироваться на основе данных, доступных из структуры 4410 метаданных уровня контейнеров, независимо для каждого мультимедийного файла или потока.
Помимо информации, ассоциированной с этими отдельными мультимедийными файлами или потоками, связанная с предварительным выбором информация 4610, возможно, также должна формироваться. В традиционных технологиях, требуемая информация, возможно, обычно должна обеспечиваться, например, через своего рода внеполосные боковые тракты передачи данных (теперь показаны на фиг. 4A) либо из синтаксического анализа двоичных данных заголовка инкапсулированного элементарного потока.
В частности, во втором случае, соответствующее устройство/компонент 4510 (которое может, в некоторых возможных случаях, упоминаться как «блок формирования данных предварительного выбора» либо с использованием любого другого подходящего термина) в силу этого должно быть не только зависимым от формата кодека, но также и требует вычислительно дорогого синтаксического анализа двоичных данных и, в зависимости от используемого мультимедийного формата, дополнительных зависимых от формата сведений относительно того, как формировать соответствующие предварительные выборы из доступных метаданных компонентов содержимое. В определенных случаях, этот этап дополнительно требует совместного считывания рабочих данных множества мультимедийных файлов или потоков, что делает этот процесс трудным и подверженным ошибкам. В некотором возможном случае, блок 4500 формирования манифестов также может содержать другое (внутреннее) устройство/компонент 4520, которое может отвечать за выполнение таких операций, как относящаяся к мультимедиа передача служебных сигналов (например, "AdaptationSet"), как должны понимать и принимать во внимание специалисты в данной области техники.
Для решения некоторых или всех проблем, как пояснено в отношении фиг. 4A, фиг. 4B, схематично иллюстрирует примерную реализацию блока формирования манифестов согласно вариантам осуществления настоящего изобретения. В частности, как указано выше, одинаковые или аналогичные ссылочные позиции на фиг. 4B, если не указано иное, могут указывать одинаковые или аналогичные элементы на фиг. 4A, так что их повторное описание может не приводиться ради краткости.
В частности, как показано относительно фиг. 4B, при использовании предложенной связанной с предварительным выбором структуры 4451 данных, не только потребность в относящемся к кодеку двоичном синтаксическом анализаторе может быть исключена, но также и блок 4501 формирования манифестов может основываться на предварительно сформированной информации из предложенной структуры 4451 данных входящего потока 4401. Специалисты в данной области техники могут понимать и принимать во внимание, что эта структура 4451 данных уже совмещается с требуемыми выходными данными 4611. Следовательно, блок 4501 формирования манифестов, предложенный в данном документе, в общем требует только преобразователя 4531 данных предварительного выбора, отвечающего за трансляцию байтовой информации в представление файла манифеста, например, XML, в противоположность блоку 4510 формирования данных предварительного выбора, как показано на фиг. 4A (который относится к данному кодеку).
Если обобщать, специалисты в данной области техники также должны понимать и учитывать, что предложенный выше подход для варианта использования блока формирования манифестов, в общем предлагает по меньшей мере следующие преимущества, а именно:
- агностическую по отношению к формату реализацию обработки данных предварительного выбора в блоках формирования манифестов;
- реализацию только в байтовом формате исключает необходимость для вычислительно более дорогих операций на двоичных данных;
- низкий объем служебной информации для реализации метаданных предварительного выбора в модуле пакетирования вследствие высокого перекрытия с существующей функциональностью;
- одинаковую работу блока формирования манифестов для всех мультимедийных форматов; и
- меньшие усилия для разработчиков, меньшие усилия по тестированию, повышенная надежность и быстрое внедрение в отрасли.
Как проиллюстрировано выше и в другом месте в этом описании, технологии, предложенные в настоящем изобретении, могут применяться к обработке аудиопотоков, а также видеопотоков (либо их сочетания). В частности, что касается видеообработки, стоит пояснять некоторые потенциальные варианты использования подробнее, для дополнительного понимания настоящего изобретения.
Один возможный вариант использования может включать в себя видеообработку с масштабируемой частотой кадров/разрешением. Более конкретно, некоторые возможные кодеки MPEG (например, в контексте стандарта универсального кодирования видео (VCC), заданного в ISO/IEC 23090-3 («MPEG-I, Часть 3»), также известного как ITU-T H.266 и т.п.) могут обеспечивать вариант создания множества частот кадров для отображения из одного и того же потока. Например, один поток может декодироваться в 50 Гц или, за счет более высокой сложности, также декодироваться в 100 Гц. Специалисты в данной области техники могут понимать и принимать во внимание, что возможность декодирования одного потока в любую частоту кадров может охватываться концепцией предварительных выборов, предложенной в настоящем изобретении. В связанном варианте использования, один поток должен переносить просто биты для предварительного выбора в 50 Гц, и второй поток должен обеспечивать дополнительные биты для предварительного выбора в 100 Гц таким образом, что для декодирования в 100 Гц на два потока необходимо обратиться посредством предварительного выбора в 100 Гц. Аналогично, вместо масштабирования частоты кадров, разрешение изображения может масштабироваться, так что вышеуказанная иллюстрация также применяется к потокам с переменным разрешением.
Другой возможный примерный случай использования может быть связан с объединенными потоками SDR/HDR. Этот конкретный вариант использования может быть связан с концепцией расширенного динамического диапазона (HDR), который обеспечивает более высокую контрастность и иногда также более широкую цветовую гамму (WCG) по сравнению с существующим видео в стандартном динамическом диапазоне (SDR). Такие системы, как те, которые предусматривают обратно совместимые улучшающие слои, могут использоваться для создания потоков, которые могут декодироваться либо для дисплеев SDR, либо для дисплеев с поддержкой HDR. Возможность извлечения различных восприятий из одного и того же или из множества потоков может сигнализироваться с предварительными выборами, связанными с различными восприятиями.
Еще один другой связанный с видео вариант использования может быть связан с технологией «картинка в картинке» (pip для краткости). В частности, в этом примере использования часть видеокомпозиции может заменяться посредством другого содержимого (например, посредством использования концепции «субкинокадров» в VCC либо любых других подходящих средств). Пример заключается в программе новостей, в которой часть дисплея заменяется захватом видеоданных посредством интерпретатора языка жестов, интерпретирующего содержимого для аудитории с нарушением слуха. Он представляет собой другой пример, в котором конечное восприятие состоит из различных частей, причем части (совместно) выбираются посредством предварительного выбора.
После пояснения вышеприведенных возможных вариантов использования, теперь следует обратиться к фиг. 5-8, на которых схематично проиллюстрированы блок-схемы, иллюстрирующие примеры способа обработки мультимедийного потока согласно вариантам осуществления настоящего изобретения.
В частности, с общей точки зрения, способы обработки потоков способа по фиг. 5 и 6 могут рассматриваться в качестве двух возможных решений для обработки (сигнализации) информации, связанной с предварительными выборами, в файле транспортного формата (например, ISOBMFF), которые могут быть реализованы вместе или в виде альтернативы, в зависимости от различных реализаций и/или обстоятельств. С другой стороны, способы обработки потоков способа по фиг. 7 и 8 могут считаться соответствующими возможным вариантам использования модуля пакетирования и блока формирования манифестов, как описано выше с обращением к фиг. 3B и 4B, соответственно.
Более конкретно, способ 5000, как показано на фиг. 5, может начинаться на этапе S5100 посредством приема мультимедийного потока, пакетизированного в соответствии с заданным транспортным форматом. Как проиллюстрировано выше, мультимедийный поток может представлять собой аудиопоток, видеопоток либо их сочетание, к примеру, мультимедийный поток 3401, подготовленный модулем 3301 пакетирования, как описано со ссылкой на фиг. 3B. Способ 5000 может осуществляться на стороне пользователя, либо другими словами, в окружении на стороне пользователя (декодирования), которое может включать в себя, не ограничиваясь, телевизор, звуковую панель, веб-браузер, мультимедийный проигрыватель, подключаемый модуль и т.д., в зависимости от различных реализаций. Заданный транспортный формат может представлять собой базовый формат мультимедийных файлов (ISOBMFF), указанный посредством части 12 ISO/IEC 14496-12 MPEG-4 от ISO, либо любой другой подходящий (транспортный) формат. В частности, пакетизированный мультимедийный поток может содержать множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля. Как отмечено выше, термин «поле», при использовании в описании, не должен пониматься как ограниченный только таким конкретным термином. Наоборот, термин «"поле» следует в общем понимать как любую подходящую структуру данных, которая может служить в качестве заполнителя для мультимедийных данных в пакетизированном мультимедийном потоке, и в силу этого может упоминаться посредством использования других подходящих терминов. Кроме того, множество полей могут иметь, в зависимости от различных реализаций и/или требований, одинаковые либо различные уровни (или положения), быть вложенными (дочернее/под-поле в сравнении с родительским полем) и т.д., как должны понимать и принимать во внимание специалисты в данной области техники. Множество полей могут содержать, в числе других возможностей, одно или более полей дорожек, ссылающихся (или другими словами, указывающих) на соответствующие дорожки, указывающие компоненты мультимедиа (мультимедийного содержимого) мультимедийного потока. Вообще говоря, компонент мультимедиа (мультимедийного содержимого) в общем может означать один/отдельный непрерывный компонент мультимедийного содержимого (и обычно также может быть ассоциирован с соответствующим (назначенным) типом компонента мультимедийного содержимого, таким как аудиоданные, видеоданные, текст и т.д.). Пример для понимания концепции «компонента мультимедиа (мультимедийного содержимого)» содержится и определен/описан, например, в MPEG DASH (ISO/IEC 23009-1).
Затем, на этапе S5200, способ 5000 может содержать определение того, содержит ли мультимедийный поток связанное с предварительным выбором поле заданного типа, указывающего предварительный выбор, при этом предварительный выбор может соответствовать представлению мультимедиа пользователю. Как отмечено выше, термин/словосочетание «предварительный выбор» используется в общем для обозначения набора компонентов мультимедийного содержимого (мультимедийного потока), которые предназначены для совместного потребления (например, устройством на стороне пользователя), а более конкретно, которые в общем представляют одну версию представления мультимедиа, которое может быть выбрано конечным пользователем для одновременного декодирования/представления. Конечно, специалистам в данной области техники следует понимать и учитывать, что в некоторых других возможных технических контекстах термин «предварительный выбор» также может быть указан (или назван) с использованием других подходящих (сравнимых) терминов, таких как (не ограничиваясь) «представления», как описано, например, в ETSI TS 103190-2, или «предварительные установки», как описано, например, в ISO/IEC 23008-3, и т.д. Соответственно, связанное с предварительным выбором поле может представлять собой конкретное поле из множества полей в мультимедийном потоке, который имеет конкретный заданный (или предварительно определенный) тип. Такой конкретный тип, указывающий предварительный выбор, может быть задан (или предварительно определен) заранее посредством использования любых подходящих средств, как должны понимать и принимать во внимание специалисты в данной области техники.
Если на этапе S5300 определено то, что мультимедийный поток содержит связанное с предварительным выбором поле, способ 5000 может еще дополнительно содержать, на этапе S5310, анализ информации метаданных, соответствующей связанному с предварительным выбором полю, причем информация метаданных указывает характеристики предварительного выбора; на этапе S5320, идентификацию одной или более дорожек в пакетизированном мультимедийном потоке, вносящих вклад в предварительный выбор, на основе информации метаданных; и наконец, на этапе S5330, обеспечение одной или более дорожек для последующей обработки в соответствии с данным предварительным выбором. Специалисты в данной области техники должны понимать и принимать во внимание, что информация метаданных, проиллюстрированная выше, может (непосредственно) включаться в или (косвенно) извлекаться из мультимедийного потока (или более конкретно, из множества полей (пакетизированного) мультимедийного потока) посредством использования любых подходящих средств, в зависимости от различных реализаций. Например, информация метаданных может содержаться в поле заголовка, которое может быть тем или иным образом ассоциировано или связано со связанным с предварительным выбором полем (например, в качестве его подполя). Как отмечено выше, предварительный выбор в общем означает набор компонентов мультимедийного содержимого, которые предназначены для совместного потребления, например, посредством одного или более подходящих последующих устройств (например, мультимедийного декодера, мультимедийного проигрывателя и т.д.). В некоторых возможных случаях последующее устройство также может называться просто «приёмником». Как следствие, в зависимости от различных реализаций и/или требований, последующая обработка может содержать, не ограничиваясь, мультиплексирование (либо повторное мультиплексирование), упорядочение, объединение, декодирование или рендеринг этих вносящих вклад дорожек, как описано выше.
При вышеописанной конфигурации, предложенный способ 5000 в общем может обеспечивать эффективный, при этом гибкий способ для определения/идентификации и последующей сигнализации дорожек в мультимедийном потоке, которые выполнены с возможностью внесения вклада в конкретный предварительный выбор, за счет этого обеспечивая дополнительную последующую обработку таких вносящих вклад дорожек (например, посредством одного или более последующих устройств). В связи с этим, вообще говоря, предложенный способ может рассматриваться как предлагающий возможность и способность сигнализации информации, указывающей предварительные выборы (и возможно их обработки) в файле транспортного слоя (например, ISOBMFF), унифицированным способом, который может считаться преимущественным в различных вариантах использования или сценариях, таких как варианты использования или сценарии, подробно описанные выше со ссылками на фиг. 1A, 2, 3B и 4B.
В частности, специалисты в данной области техники могут понимать и принимать во внимание, что Международная организация по стандартизации (ISO), наряду с Международной электронной комиссией (IEC), совместно опубликовали функциональный документ для реализации определенной технологии под заголовком: ISO/IEC 14496-12, "Information technology - Coding of audiovisual objects - Part 12: ISO base media file format" (последняя версия опубликована в 2020 году и доступна по адресу https://www.iso.org/standard/74428.html). Первоначально разработанный посредством Экспертной группы по киноизображению (MPEG), этот документ указывает базовый формат мультимедийных файлов по стандарту ISO (или ISOBMFF для краткости), который представляет собой общий формат, формирующий базис для других более конкретных форматов файлов.
Как уже проиллюстрировано выше, мультимедийная информация в ISOBMFF обычно структурирована иерархическим, объектно-ориентированным способом посредством использования компоновочных блоков, называемых «полями». Эти структуры данных задаются посредством уникального идентификатора типа и длины и могут быть вложенными или конкатенированными, образуя полную файловую структуру.
Отдельные мультимедийные данные в формате файлов, такие как один отдельный видео- или аудиокомпонент, могут называться «дорожкой», представленной в качестве элементарного потока, сформированного заранее посредством мультимедийного кодера.
Этот формат файлов содержит синхронизацию, структуру и мультимедийную информацию для синхронизированных последовательностей мультимедийных данных, таких как аудиовизуальные представления. ISO/IEC 14496-12 уже содержит множество средств для описания свойств мультимедийных компонентов. Такие описательные элементы или выделенные поля назначаются отдельным дорожкам и поддорожкам в поле кинозаголовков ("moov"). Такие доступные поля включают в себя поле «расширенного языкового тега» ("elng") или поле вида ("kind").
Для целей сигнализации свойств сочетаний дорожек или поддорожек, как проиллюстрировано выше подробно со ссылкой на фиг. 5, настоящее изобретение в общем предлагает, в качестве некоторых возможных реализаций, возможность обеспечивать новые структуры данных, которые должны использоваться параллельно определению дорожек, например, в кинозаголовке (либо в любых других подходящих полях). Тем не менее, следует отметить, что хотя связывание каждого из этих так называемых предварительных выборов с их составляющими (вносящими вклад) мультимедийными дорожками представляет собой часть настоящего предложения, существующее средство для сигнализации их соответствующих свойств должно многократно использоваться в максимально возможной степени.
Например, в некоторых возможных реализациях, могут вводиться два новых поля, при этом одно контейнерное поле может считаться образующим дубликат для DASH-элемента предварительного выбора и принимающим все описательные и структурные метаданные в качестве дочерних полей; и другое поле может представлять собой (обязательное) поле заголовка, принимающее структурные метаданные для создания предварительного выбора. Безусловно, как подробно проиллюстрировано выше, при необходимости также могут быть включены дополнительные подходящие поля (например, поля, связанные с обработкой). В таких случаях, связывание предварительного выбора с дорожками, например, может достигаться посредством использования назначений уникальных идентификаторов дорожек в заголовке дорожки для каждой дорожки. Поскольку на предварительный выбор в общем должны ссылаться внешние приложения, уникальный идентификатор должен назначаться, соответственно. В частности, идентификатор предварительного выбора должен быть уникальным в пределах всего пакета, т.е. по всем файлам ISOBMFF, доступным для этого представления мультимедиа. Кроме того, поскольку кодированный мультимедийный формат может использовать различные назначения, дополнительный элемент(ы), возможно, должен определяться и/или задаваться, соответственно (например, с использованием соответствующего тега для преобразования соответствующего идентификатора, используемого в мультимедийном формате и т.п.).
В свете этого, с целью реализации предложенного способа, как описано выше относительно фиг. 5, в частности, для поддержки предварительного выбора в контексте ISOBMFF, в некоторых возможных реализациях в общем может быть предложено изменение (создание или замена) ISO 14496-12, раздел 8, с нижеприведенным текстом:
3.1. Термины и определения
3.1.x. Предварительный выбор
Набор из одного или более мультимедийных компонентов, представляющих одну версию представления мультимедиа, которое может быть выбрано пользователем, для одновременного декодирования/представления.
3.1.y. Пакет
Набор из множества дорожек, не обязательно содержащийся в одном отдельном файле ISOBMFF, обеспечивающем полное доступное восприятие представления мультимедиа.
8.18. Структура предварительного выбора
8.18.1. Введение
8.18.2. Обратная совместимость
8.18.3. Поле предварительного выбора
Определение
Тип поля: "pres"
Контейнер: кинополе (moov), поле кинофрагментов ("moof")
Обязательное: нет
Количество: ноль или более
Оно представляет собой контейнерное поле для одного предварительного выбора. Предварительный выбор обеспечивает описание и технический состав для одного конкретного восприятия конечных пользователей. Должно быть предусмотрено одно поле предварительного выбора для каждого доступного предварительного выбора в представлении мультимедиа.
Обязательное поле заголовка предварительного выбора содержит требуемые ссылки на все дорожки, составляющие предварительный выбор. Кроме того, поле предусматривает идентификаторы, применимые для процессов выбора.
Свойства предварительного выбора должны указываться с использованием дополнительных полей, таких как поле расширенного языка или поле вида. В случаях, если множество предварительных выборов имеют одинаковые общие свойства, автор содержимого должен обеспечить соответствующее текстовое описание через поле меток.
Синтаксис
aligned(8) class PreselectionBox extends Box("pres") {
}
8.18.3. Поле заголовка предварительного выбора
Определение
Тип поля: "prhd"
Контейнер: поле предварительного выбора ("pres")
Обязательное: да
Количество: ровно одно
Это поле указывает характеристики одного предварительного выбора. Ровно одно поле заголовка предварительного выбора содержится в предварительном выборе.
preselection_id и preselection_tag обеспечивают идентификацию предварительного выбора в приложение или мультимедийный кодек, соответственно. Они могут использоваться для выбора представления.
selection_priority должен использоваться для направления любого автоматизированного процесса выбора в случаях, если другое дифференцирование не предусмотрено. Оценка порядка элементов предварительного выбора для определения их приоритетов, должна исключена.
Синтаксис
aligned(8) class PreselectionHeaderBox
extends FullBox("prhd", version, flags){
if(version==0) {
}
Box[];//поля, описывающие пользовательское восприятие
}
Семантика
version является целым числом, которое указывает версию этого поля (0 в этой спецификации).
flags является 24-битовым целым числом с флагами; значения еще не задаются.
preselection_id является целым числом, которое объявляет уникальный идентификатор для внешних приложений.
preselection_tag является целым числом, которое объявляет идентификатор для используемого мультимедийного кодека.
selection_priority является целым числом, которое объявляет приоритет предварительного выбора в случаях, если другое дифференцирование, к примеру, через язык мультимедиа, не является возможным. Меньшее число указывает более высокий приоритет.
n_tracks является целым числом, которое объявляет число дорожек, требуемых для формирования предварительного выбора.
track_ID является массивом целых чисел, каждое из которых уникально идентифицирует дорожку. Список всех дорожек в этой ссылке на массив через значения track_ID требуется для предварительного выбора.
8.18.4. Поле меток и меток групп
Определение
Тип поля: "labl"
Контейнер: поле предварительного выбора ("pres") и при необходимости другие
Обязательное: нет
Количество: ноль или более
Это поле может использоваться для снабжения содержащей структуры текстовым описанием. Описание предназначено для представления пользователю в некоторой форме текстового дисплея, оно не предназначено для любых автоматизированных процессов выбора.
Для обеспечения текстового описания на различных языках может использоваться множество полей.
Синтаксис
aligned(8) class LabelBox
extends Box("labl"){
template unsigned int(16) label_id=0;
}
Семантика
label_id является целым числом, которое содержит идентификатор, применимый посредством внешних приложений.
language является завершаемой нулем C-строкой, содержащей совместимую с RFC 4646 (BCP 47) строку языковых тегов, к примеру, "en-US", "fr-FR" или "zh-CN".
label является завершаемой нулем строкой C, содержащей текстовое описание.
Следовательно, может быть дополнительно предложено обновление таблицы 1 (в том же документе ISO 14496-12) со строками, выделенными серым цветом, как показано ниже.
Таблица 1. Типы полей, структура и перекрестная ссылка (информативная)
Помимо этого, может быть дополнительно предложено ввести новое поле заголовка предварительного выбора в качестве контейнера в некоторые уже существующие поля. Например, может быть предложено изменить существующее определение полей (в том же документе ISO 14496-12), как указано ниже:
8.4.6. Расширенный языковой тег
8.4.6.1. Определение
Тип поля: "elng"
Контейнер: мультимедийное поле ("mdia"), поле заголовка предварительного выбора ("prhd")
Обязательное: нет
Количество: ноль или одно
[...]
Как уже отмечено, предложенное выше изменение следует понимать лишь как один, но безусловно не единственный, возможный пример реализации. Даже при том, что некоторые конкретные названия предложенных полей, связанных с предварительным выбором, приведены/предложены выше, эти поля могут также называться по-другому. Аналогичным образом, даже если вышеуказанные предложенные поля, связанные с предварительным выбором, по-видимому, вложены под полем moov, эти поля, безусловно, могут быть реализованы где-то в другом месте, как следует понимать и учитывать специалистам в данной области техники. В одном возможном примере (но, безусловно, не в качестве ограничения любого вида), эти связанные с предварительным выбором поля могут быть ассоциированы (например, вложены) с так называемым "EntityToGroupBox" в ISOBMFF или в любых других подходящих местах. Аналогично, как должны понимать и принимать во внимание специалисты в данной области техники, по мере совершенствования и развития стандартов, вероятно, что примерная таблица(ы) (либо элементы в ней), а также примерные секции, упомянутые выше, могут иметь различные названия и/или (иерархические) положения. В некоторых возможных случаях, вышеуказанная примерная таблица(ы) (либо ее части) и/или секции даже могут быть частично или полностью устаревшими (потерявшими актуальность), так что соответствующая связанная с предварительным выбором информация, вероятно, должна задаваться в другом месте соответствующим образом на этот момент.
Теперь следует обратиться к фиг. 6, который схематично иллюстрирует блок-схему другого возможного примера способа 6000 обработки мультимедийного потока согласно вариантам осуществления настоящего изобретения. Как отмечено выше, способ по фиг. 6 в общем может рассматриваться в качестве альтернативы (или, в некоторых возможных случаях, в качестве дополнения) по отношению к способу по фиг. 5, как описано выше.
В частности, способ 6000, может начинаться на этапе S6100 посредством приема мультимедийного потока, пакетизированного в соответствии с заданным транспортным форматом. Аналогично тому, что описано выше, мультимедийный поток может представлять собой аудиопоток, видеопоток либо их сочетание, к примеру, мультимедийный поток 3401, подготовленный модулем 3301 пакетирования, как описано со ссылкой на фиг. 3B. Способ 6000 также может осуществляться на стороне пользователя, либо другими словами, в окружении на стороне пользователя (декодирования), которое может включать в себя, не ограничиваясь, телевизор, звуковую панель, веб-браузер, мультимедийный проигрыватель, подключаемый модуль и т.д., в зависимости от различных реализаций. Заданный транспортный формат также может представлять собой базовый формат мультимедийных файлов (или ISOBMFF для краткости), указанный посредством части 12 ISO/IEC 14496-12 MPEG-4 от ISO, либо любой другой подходящий (транспортный) формат. В частности, пакетизированный мультимедийный поток может содержать множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля. Множество полей могут содержать, в числе других возможностей, одно или более полей дорожек, ссылающихся (или другими словами, указывающих) на соответствующие дорожки, указывающие компоненты мультимедиа (мультимедийного содержимого) мультимедийного потока.
Затем, на этапе S6200, способ 6000 может содержать проверку (например, посещение, циклическое прохождение и т.д.) полей дорожек в мультимедийном потоке для определения полного (либо законченного/совокупного) набора предварительных выборов, которые присутствуют в мультимедийном потоке. В частности, определение полного набора предварительных выборов может содержать: определение набора уникальных пар из идентификаторов групп дорожек и типов групп дорожек и адресацию предварительных выборов посредством соответствующих идентификаторов групп дорожек. Как отмечено выше, каждый предварительный выбор ассоциирован с соответствующей группой дорожек, которая непосредственно, в свою очередь, идентифицируется посредством соответствующей пары из соответствующего идентификатора группы дорожек и соответствующего типа группы дорожек. Таким образом, предварительные выборы могут адресоваться (или идентифицироваться) посредством соответствующих идентификаторов групп дорожек, ассоциированных/связанных с ними.
Способ 6000 может еще дополнительно содержать, на этапе S6300, выбор предварительного выбора из полного набора предварительных выборов. В частности, предварительный выбор может выбираться на основе атрибутов (например, представленных в качестве метаданных или других подходящих форм) соответствующего предварительного выбора, которые включены в поля групп дорожек с одинаковым идентификатором группы дорожек.
Затем, на этапе S6400, способ 6000 может содержать определение набора из одного или более полей дорожек, вносящих вклад в выбранный предварительный выбор. В частности, набор из одного или более полей дорожек, вносящих вклад в (тот же) предварительный выбор, может идентифицироваться посредством присутствия (соответствующего) поля группы дорожек с одинаковым идентификатором группы дорожек.
Помимо этого, на этапе S6500, способ 6000 может содержать определение, в качестве одной или более дорожек, вносящих вклад в предварительный выбор, дорожек, на которые имеется ссылка в каждом элементе набора из одного или более полей дорожек, как определено выше.
В завершение, на этапе S6600, способ 6000 может содержать обеспечение одной или более дорожек для последующей обработки в соответствии с предварительным выбором. Как отмечено выше, предварительный выбор в общем означает набор компонентов мультимедийного содержимого, которые предназначены для совместного потребления, например, посредством одного или более подходящих последующих устройств (или, в некоторых возможных случаях, называемых приёмниками), таких как мультимедийный декодер, мультимедийный проигрыватель и т.д. Как следствие, в зависимости от различных реализаций и/или требований, последующая обработка может содержать, не ограничиваясь, мультиплексирование (либо повторное мультиплексирование), упорядочение, объединение, декодирование или рендеринг этих вносящих вклад дорожек, как подробнее описано ниже.
При вышеописанной конфигурации, предложенный способ 6000 может в общем обеспечивать эффективный, при этом гибкий способ определения/идентификации и последующей сигнализации дорожек в мультимедийном потоке, которые выполнены с возможностью внесения вклада в конкретный предварительный выбор, за счет этого обеспечивая дополнительную последующую обработку таких вносящих вклад дорожек (например, посредством одного или более последующих устройств). В частности, следует отметить, что способ, предложенный выше в первом аспекте, направлен в общем на обеспечение релевантной информации для (всех) дорожек, которые выполнены с возможностью внесения вклада в конкретный предварительный выбор в связанном с предварительным выбором поле, за счет этого обеспечивая эффективную индексацию (или идентификацию) всех вносящих вклад дорожек. В этом смысле, такая индексация дорожек, как описано в вышеприведенном способе 5000 по фиг. 5, может рассматриваться в качестве своего рода прямой (непосредственной) индексации. Напротив, в способе 6000, как показано на фиг. 6, дорожки, вносящие вклад в конкретный предварительный выбор, могут совместно определяться посредством пары из типа группы дорожек и идентификатора группы дорожек. Более конкретно, дорожки, которые имеют (например, содержат) поле группы дорожек с конкретным (например, заданным или предварительно определенным) типом группы дорожек в общем могут указывать то, что упомянутые дорожки вносят вклад в предварительные выборы. Кроме того, дорожки, которые имеют одинаковый идентификатор группы дорожек в общем могут указывать, что эти дорожки относятся (вносят вклад) к одному и тому же предварительному выбору. В этом смысле, по сравнению с тем, что предлагается на фиг. 5, такая индексация дорожек, как описано с обращением к фиг. 6, может рассматриваться в качестве своего рода обратной индексации. В любом случае, аналогично фиг. 5, предложенный способ 6000 на фиг. 6 также может предлагать возможность и способность сигнализации информации, указывающей предварительные выборы (и возможно их обработки) в файле транспортного слоя (например, ISOBMFF), унифицированным способом, который может считаться преимущественным в различных вариантах использования или сценариях, таких как варианты использования или сценарии, подробно описанные выше со ссылками на фиг. 1A, 2, 3B и 4B.
В частности, аналогично фиг. 5, с целью реализации предложенного способа 6000, как описано выше относительно фиг. 6, в частности, для поддержки предварительного выбора в контексте ISOBMFF, в некоторых возможных реализациях в общем может быть предложено изменение (создание или замена) ISO 14496-12 с нижеприведенным текстом (в качестве альтернативы или дополнения к тому, что предлагается с обращением к фиг. 5):
3.1. Термины и определения
3.1.x. Предварительный выбор
Набор из одного или более мультимедийных компонентов, представляющих одну версию представления мультимедиа, которое может быть выбрано пользователем для одновременного декодирования/представления.
3.1.y. Мультимедийный компонент
В общем, может быть предложено изменить ISO 14496-12, раздел 8.3.4.3, со следующими строками серым цветом:
track_group_type указывает grouping_type и должен задаваться равным одному из следующих значений или зарегистрированному значению, или значению из извлеченной спецификации или регистрации:
"msrc" указывает то, что эта дорожка относится к представлению с помощью множества источников. Указано в 8.3.4.4.1.
"ster" указывает, что эта дорожка является левым или правым видом стереопары, подходящей для воспроизведения на стереоскопическом дисплее. Указывается в 02.
"pres" указывает, что эта дорожка вносит вклад в предварительный выбор. Указывается в 8.3.4.4.3.
Пара из track_group_id и track_group_type идентифицирует группу дорожек в файле. Дорожки, которые содержат конкретный TrackGroupTypeBox, имеющий равное значение track_group_id и track_group_type, относятся к одинаковой группе дорожек.
В общем, может быть предложено изменение (или создание) ISO 14496-12, раздел 8.3.4.4.3, со следующими строками серым цветом:
8.3.4.1.3. Поле предварительного выбора
8.3.4.1.3.1. Определение
TrackGroupTypeBox с track_group_type, равным "pres", указывает то, что эта дорожка вносит вклад в предварительный выбор.
Дорожки, которые имеют равное значение track_group_id в PreselectionGroupBox, представляют собой часть одного и того же предварительного выбора.
Предварительные выборы могут квалифицироваться по языку, виду или относящимся к мультимедиа атрибутам, таким как индикаторы рендеринга аудиоданных или схемы размещения каналов. Атрибуты, сигнализируемые в поле предварительного выбора, должны иметь приоритет по сравнению с атрибутами, сигнализируемыми во вносящих вклад дорожках.
Все атрибуты, уникально квалифицирующие предварительный выбор, должны присутствовать по меньшей мере в одном поле предварительного выбора для предварительного выбора. Если присутствуют более чем в одном поле предварительного выбора для предварительного выбора, поля должны быть одинаковыми.
Примечание: Предварительные выборы группируют дорожки только одного и того же типа мультимедиа.
Дорожки, не содержащие все требуемые мультимедийные компоненты по меньшей мере для одного предварительного выбора, должны иметь флаг track_in_movie, заданный равным «0», в своих полях заголовков дорожек. Это предотвращает воспроизведение дорожки, приводящей к неполному восприятию, посредством проигрывателей, не понимающих поле предварительного выбора.
Примечание: Наличие одной дорожки с флагом track_in_movie, заданным равным единице, является хорошей практикой. Это подразумевает, что данная дорожка обеспечивает по меньшей мере одно полное восприятие.
8.3.4.1.3.2. Синтаксис
aligned(8) class PreselectionGroupBox extends TrackGroupTypeBox("pres")
{
if(flags and 1) {
unsigned int(8) selectionPriority=1
}
if(flags and 2) {
unsigned int(8) order=0
}
PreselectionInformationBox
PreselectionProcessingBox
}
8.3.4.1.3.3. Семантика
selection_priority является целым числом, которое объявляет приоритет предварительного выбора в случаях, если другое дифференцирование, к примеру, через язык мультимедиа, не является возможным. Меньшее число указывает более высокий приоритет.
order указывает правила соответствия для представлений в адаптивных наборах в предварительном выборе согласно [MPEG DASH], из следующего перечислимого набора:
0: не задано
1: упорядоченный по времени
2: полностью упорядоченный
8.3.4.1.3.4. Поле информации предварительного выбора
8.3.4.1.3.4.1. Определение
Тип поля: "prsi"
Контейнер: поле предварительного выбора
Обязательное: да
Количество: ровно одно
Это поле агрегирует всю семантическую информацию относительно предварительного выбора.
8.3.4.1.3.4.2. Синтаксис
aligned(8) class PreselectionInformationBox
extends FullBox("prsi", version=0, 0){
//Поля, описывающие предварительный выбор
}
8.3.4.1.3.4.3. Семантика
8.3.4.1.3.4.5. Поле обработки предварительного выбора
8.3.4.1.3.4.5.1. Определение
Тип поля: "prsp"
Контейнер: поле предварительного выбора
Обязательное: да
Количество: ровно одно
Это поле содержит информацию в отношении того, как должны обрабатываться дорожки, вносящие вклад в предварительный выбор. Относящиеся к типу мультимедиа поля могут использоваться для описания последующей обработки.
8.3.4.1.3.4.5.2. Синтаксис
aligned(8) class PreselectionProcessingBox
extends FullBox("prsp", version=0, 0){
string preselection_tag;
unsigned int(8) track_order
unsigned int(1) sample_merge_flag
unsigned int(7) reserved
//Поля, задающие дополнительную обработку
//дорожки, вносящей вклад в предварительный выбор
}
8.3.4.1.3.4.5.3. Семантика
preselection_tag является целым числом, которое содержит идентификатор для метки. Метки с равным значением относятся к группе меток. Нулевое значение по умолчанию указывает, что метка не относится ни к одной группе меток.
track_order задает то, в каком порядке дорожки должны передаваться в декодеры. Сначала в декодер должны передаваться дорожки с более низким track_order. Если множество дорожек имеет равное значение track_order, порядок не является релевантным.
sample_merge_flag: если этот флаг задается равным «1», то каждая выборка этой дорожки должна присоединяться к выборке дорожки со следующим более низким значением track_order. Если задано равным «0», эта дорожка должна передаваться в отдельный экземпляр декодера.
Может быть дополнительно предложено создание (либо изменение или замена) ISO 14496-12, раздел 8.18.4, следующим образом:
8.18.4. Поле меток и меток групп
Определение
Тип поля: "labl"
Контейнер: контейнерное поле пользовательских данных ("udta") в дорожке, поле предварительного выбора ("pres")
Обязательное: нет
Количество: ноль или более
Метки позволяют снабжать примечаниями структуры данных в файле ISOBMFF для обеспечения описания контекста элемента, которому назначена метка. Такие метки, например, могут использоваться клиентами воспроизведения для обеспечения пользователю возможности выбора. Метка также может использоваться для простого примечания в другом контексте.
Помимо этого, элемент GroupLabel может быть добавлен на верхнем уровне для обеспечения сводки или заголовка меток, собранных в группе. Пример может заключаться в том, что он используется в меню для обеспечения контекста меню меток.
Для обеспечения текстового описания может использоваться множество меток. Для снабжения примечаниями предварительного выбора для многоязычной аудитории, примечание может быть предусмотрено на языке, отличном от языка предварительного выбора.
Если is_group_label задается равным значению, отличному от нуля, текст метки в этом поле указывает сводку или заголовок всех меток с равным label_id. Оно может использоваться в качестве заголовка в меню выбора, содержащем совокупность меток.
Синтаксис
aligned(8) class LabelBox
extends FullBox("labl", version=0, 0){
unsigned int(8) is_group_label=0;
unsigned int(16) label_id=0;
utf8string language;
utf8string label;
}
Семантика
is_group_label указывает, содержит ли метка сводную метку для группы меток.
label_id является целым числом, которое содержит идентификатор для метки. Метки с равным значением относятся к группе меток. Нулевое значение по умолчанию указывает, что метка не относится ни к одной группе меток.
language является завершаемой нулем C-строкой, содержащей совместимую с RFC 4646 (BCP 47) строку языковых тегов, к примеру, "en-US", "fr-FR" или "zh-CN", при этом language является языком, для которого предназначается метка.
label является завершаемой нулем C-строкой, содержащей текстовое описание.
Может быть дополнительно предложено создание (либо изменение или замена) ISO 14496-12, раздел 8.18.4, следующим образом:
8.18.5. Поле индикатора рендеринга аудио
Определение
Тип поля: "ardi"
Контейнер: поле предварительного выбора ("pres")
Обязательное: нет
Количество: ноль или одно
Поле индикатора рендеринга аудио содержит подсказку для предпочтительной схемы размещения каналов воспроизведения.
Синтаксис
aligned(8) class AudioRenderingIndicationBox
extends FullBox("ardi", version=0, 0){
unsigned int(8) audio_rendering_indication=0;
}
Семантика
audio_rendering_indication содержит подсказку для предпочтительной схемы размещения каналов воспроизведения, кодированной согласно таблице 2.
Таблица 2. Кодирование индикатора рендеринга аудио
В частности, на основе новых предложенных связанных с предварительным выбором полей, как проиллюстрировано выше, может быть дополнительно предложена вышеуказанная таблица 1, как описано с обращением к фиг. 5, как следует понимать и учитывать специалистам в данной области техники, так что их подробности не повторяются для краткости.
Помимо этого, может дополнительно предложено ввести новое поле заголовка предварительного выбора в качестве контейнера в некоторые уже существующие поля. Например, может быть предложено изменение существующего определения полей посредством текста, выделенного серым цветом:
8.4.6. Расширенный языковой тег
8.4.6.1. Определение
Тип поля: "elng"
Контейнер: мультимедийное поле ("mdia"), поле предварительного выбора ("pres")
Обязательное: нет
Количество: ноль или одно
[...]
8.10.1. Поле пользовательских данных
8.10.4.1. Определение
Тип поля: "udta"
Контейнер: MovieBox, TrackBox, MovieFragmentBox или TrackFragmentBox, или PreselectionBox
Обязательное: нет
Количество: ноль или одно
[...]
8.10.4. Вид дорожки
8.10.4.1. Определение
Тип поля: "kind"
Контейнер: контейнерное поле пользовательских данных ("udta") в дорожке или поле предварительного выбора ("pres")
Обязательное: нет
Количество: ноль или одно
12.2.4. Схема размещения каналов
8.10.4.1. Определение
Тип поля: "chnl"
Контейнер: запись аудиовыборки или поле предварительного выбора
Обязательное: нет
Количество: ноль или одно
[...]
С другой стороны, как отмечено выше, предложенное выше изменение, описанное с обращением к способу по фиг. 6, следует понимать лишь как один, но, безусловно, не единственный возможный пример реализации. Даже если некоторые конкретные названия предложенных полей, связанных с предварительным выбором, предусмотрены/предложены выше, эти поля также могут называться по-другому. Аналогично, даже если в вышеприведенном описании предложенные связанные с предварительным выбором поля, по-видимому, ассоциированы с некоторым конкретным полем, эти поля, безусловно, могут реализовываться где-то в другом месте, как должны понимать и принимать во внимание специалисты в данной области техники.
Теперь обратимся к фиг. 7, который схематично иллюстрирует примерную блок-схему способа 7000 обработки мультимедийного потока согласно вариантам осуществления настоящего изобретения. Аналогично вышеуказанному, мультимедийный поток может представлять собой аудиопоток, видеопоток либо их сочетание. В частности, способ 7000 может осуществляться для окружения на стороне кодирования (например, мультимедийного кодера). В некоторых сценариях (или вариантах использования), такой кодер также может упоминаться как «модуль (мультимедийного) пакетирования» (т.е. выполненный с возможностью пакетирования/пакетизации мультимедийных входных данных), как проиллюстрировано позицией 2300-A-C на фиг. 2 или позицией 3301 на фиг. 3B.
В частности, способ 7000 может содержать, на этапе S7100, инкапсуляцию одного или более элементарных потоков в соответствии с заданным транспортным форматом для формирования пакетизированного мультимедийного потока, при этом пакетизированный мультимедийный поток содержит множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля. Аналогично вышеуказанному, заданный транспортный формат может представлять собой базовый формат мультимедийных файлов (или ISOBMFF для краткости), указанный в части 12 ISO/IEC 14496-12 MPEG-4 от ISO, либо любой другой подходящий (транспортный) формат.
Более конкретно, этап S7100 инкапсуляции одного или более элементарных потоков может содержать: на этапе S7110, пакетизацию мультимедийных данных одного или более элементарных потоков в соответствии с транспортным форматом для формирования одного или более полей дорожек, ссылающихся (или указывающих) на соответствующие дорожки одного или более элементарных потоков; и на этапе S7120, формирование одного или более связанных с предварительным выбором полей заданного типа на основе информации заголовка одного или более элементарных потоков, при этом каждое из одного или более связанных с предварительным выбором полей указывает соответствующий предварительный выбор, который соответствует представлению мультимедиа пользователю.
При вышеописанной конфигурации, предложенный способ в общем может обеспечивать эффективный, при этом гибкий способ пакетизации мультимедийного ввода (например, элементарных потоков) в соответствии с заданным транспортным форматом (например, ISOBMFF). Более конкретно, посредством формирования и включения одного или более связанных с предварительным выбором полей (каждое из которых указывает соответствующий предварительный выбор) вместе с пакетизированным мультимедийным потоком, предложенный способ также может обеспечивать возможность представлять предварительные выборы унифицированным способом, агностическим по отношению к кодекам, за счет этого дополнительно обеспечивая соответствующую последующую обработку дорожек, вносящих вклад в соответствующий предварительный выбор (например, согласно способам, предложенным в предшествующих первом и втором аспектах). Помимо этого, как проиллюстрировано выше, такое унифицированное представление предварительных выборов также может обеспечивать агностическую по отношению к формату реализацию обработки данных предварительного выбора в блоках формирования манифестов (например, файлов формата динамической адаптивной потоковой передачи MPEG по HTTP (DASH) или файлов формата передаваемого в реальном времени потока HTTP (HLS)), таким образом исключая потребность в вычислительно более дорогих операциях для двоичных данных и, в то же время, с уменьшенными усилиями по реализации и повышенной надежностью.
Фиг. 8 является блок-схемой, иллюстрирующей еще один другой пример способа 8000 обработки мультимедийного потока согласно вариантам осуществления настоящего изобретения. Мультимедийный поток может представлять собой аудиопоток, видеопоток либо их сочетание. Способ 8000 может осуществляться блоком формирования манифестов, например, блоком формирования манифестов, проиллюстрированным как 2500 на фиг. 2 или как 4501 на фиг. 4B.
В частности, способ 8000 может содержать прием на этапе S8100 мультимедийного потока, пакетизированного в соответствии с заданным транспортным форматом. Более конкретно, пакетизированный мультимедийный поток может содержать множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля, при этом множество полей могут содержать одно или более полей дорожек, ссылающихся (например, указывающих) на соответствующие дорожки, указывающие мультимедийные компоненты мультимедийного потока, и одно или более связанных с предварительным выбором полей заданного типа, и при этом каждое связанное с предварительным выбором поле указывает соответствующий предварительный выбор, который соответствует представлению мультимедиа пользователю.
Кроме того, способ 8000 также может содержать, на этапе S8200, формирование файла манифеста на основе одного или более связанных с предварительным выбором полей.
При вышеописанной конфигурации, предложенный способ в общем может обеспечивать эффективный, при этом гибкий способ формирования файла манифеста с учетом также связанной с предварительным выбором информации (например, информации описания и/или информации, связанной с обработкой). Более конкретно, помимо информации, связанной с мультимедийным потоком(ами), предложенный способ может дополнительно включать в себя информацию, ассоциированную с предварительными выборами. Связанная с предварительным выбором информация может содержать, не ограничиваясь, информацию метаданных, информацию обработки и т.п. По сравнению с традиционными технологиями (формирования манифестов), предложенный способ для формирования файла манифеста в общем может предлагать агностическую по отношению к формату реализацию для обработки связанных с предварительным выбором данных, за счет этого исключая вычислительно более дорогие операции (например, которые должны выполняться для двоичных данных в традиционных технологиях), уменьшая усилия по реализации и/или тестированию и повышая надежность.
Если обобщать, способы, предложенные и описанные выше с обращением к чертежам, относятся в общем к технологиям для обработки мультимедийных потоков с учетом «предварительного выбора». Такие ориентированные на предварительный выбор технологии могут обеспечивать различные потенциальные варианты использования. Один возможный вариант использования может включать в себя, как упомянуто выше, выбор из множества языков (субтитров).
Другой возможный примерный случай использования может быть связан с нарративной важностью. В частности, чтобы возможно удовлетворять потребности людей с нарушением слуха или возможно адаптировать аудиокомпозиции к различным условиям прослушивания, может возникать потребность в таких технологиях, как улучшение диалогов, которое, вообще говоря, может использоваться для улучшения соотношения уровня громкости диалога в сравнении с уровнем громкости фона. В качестве расширения такой технологии улучшения диалогов, предложены дополнительные меры для избирательного и постепенного отбрасывания всех аудиоэлементов из композиций таким образом, чтобы повысить разборчивость диалогов. В таких случаях, можно преобразовывать континуум «полного материала» через «только диалоги» в определенное число предварительных выборов и использовать способы по настоящему изобретению.
Дополнительный возможный вариант использования может быть связан с определением целевой аудитории. Более конкретно, иногда определение конкретной целевой аудитории вне рамок языка может представлять интерес. В качестве примера (но не в качестве ограничения любого вида), может быть предусмотрено два спортивных комментатора, которые симпатизируют разным командам, соответственно. В этом случае, различные предварительные выборы могут включать в себя или ссылаться на различных спортивных комментаторов.
Еще один дополнительный связанный с предварительным выбором вариант использования может быть связан с адаптацией окружения воспроизведения. Таким образом, создатели содержимого могут формировать выделенные версии, нацеленные на различные окружения воспроизведения, такие как компоновки с системой домашнего кинотеатра по сравнению со встроенными динамиками телевизоров или версией с наушниками. В этом случае, различные предварительные выборы могут быть связаны с различным аудио для различных окружений воспроизведения.
В завершение, настоящее изобретение аналогичным образом относится к устройству для осуществления способов и технологий, описанных в настоящем описании. Фиг. 9 в общем показывает пример такого устройства 9000. В частности, устройство 9000 содержит процессор 9100 и запоминающее устройство 9200, соединенное с процессором 9100. Запоминающее устройство 9200 может сохранять инструкции для процессора 9100. Процессор 9100 также может принимать, в числе других, входные данные (например, мультимедийный ввод, пакетизированные мультимедийные потоки и т.д.), в зависимости от различных вариантов использования и/или реализаций. Процессор 9100 может адаптироваться с возможностью осуществления способов/технологий (например, способов 5000, 6000, 7000 и 8000, как проиллюстрировано выше), описанных в настоящем описании, и формировать, соответственно, выходные данные 9400 (например, пакетизированные мультимедийные потоки, файлы манифеста и т.д.), в зависимости от различных вариантов использования и/или реализаций. Например, устройство 9000, в зависимости от обстоятельств, может реализовывать модуль пакетирования, выполненный с возможностью осуществления способа 7000 обработки мультимедийного потока, как проиллюстрировано выше относительно фиг. 7; или реализовывать блок формирования манифестов, выполненный с возможностью осуществления способа 8000 обработки мультимедийного потока, как проиллюстрировано выше относительно фиг. 8, согласно вариантам осуществления настоящего изобретения.
Интерпретация
Вычислительное устройство, реализующее технологии, описанные выше, может иметь следующую примерную архитектуру. Другие архитектуры являются возможными, в том числе и архитектуры с большим или меньшим числом компонентов. В некоторых реализациях, примерная архитектура включает в себя один или более процессоров (например, двухъядерные процессоры Intel® Xeon®), одно или более устройств вывода (например, ЖК-дисплей), один или более сетевых интерфейсов, одно или более устройств ввода (например, мышь, клавиатуру, сенсорный дисплей) и один или более машиночитаемых носителей (например, RAM, ROM, SDRAM, жесткий диск, оптический диск, флэш-память и т.д.). Эти компоненты могут обмениваться сообщениями и данными по одному или более каналов связи (например, шин), которые могут использовать различные аппаратные средства и программное обеспечение для упрощения передачи данных и управляющих сигналов между компонентами.
Термин «машиночитаемый носитель» означает носитель, который участвует в обеспечении инструкций в процессор для выполнения, в том числе, не ограничиваясь, энергонезависимые носители (например, оптические или магнитные диски), энергозависимые носители (например, запоминающее устройство) и среды передачи. Среды передачи включают в себя, не ограничиваясь, коаксиальные кабели, медный провод и оптоволокно.
Машиночитаемый носитель может дополнительно включать в себя операционную систему (например, операционную систему Linux®), модуль сетевой связи, диспетчер аудиоинтерфейсов, диспетчер аудиообработки и модуль распространения передаваемого в реальном времени содержимого. Операционная система может быть многопользовательской, многопроцессорной, многозадачной, многопоточной, реального времени и т.д. Операционная система выполняет базовые задачи, в том числе, не ограничиваясь: распознавание ввода из сетевых интерфейсов и/или устройств и обеспечение вывода в них; отслеживание и управление файлами и каталогами на машиночитаемых носителях (например, в запоминающем устройстве или на устройстве хранения данных); управление периферийными устройствами; и управление трафиком в одном или более каналов связи. Модуль сетевой связи включает в себя различные компоненты для установления и поддержания сетевых соединений (например, программное обеспечение для реализации протоколов связи, таких как TCP/IP, HTTP и т.д.).
Архитектура может реализовываться в инфраструктуре на основе параллельной обработки либо обработки между равноправными узлами или на одном устройстве с одним или более процессоров. Программное обеспечение может включать в себя несколько программных компонентов либо может представлять собой единое тело кода.
Описанные признаки могут реализовываться преимущественно в одной или более компьютерных программ, которые выполняются в программируемой системе, включающей в себя по меньшей мере один программируемый процессор, соединенный с возможностью приёма данных и инструкций и передачи данных и инструкций в систему хранения данных, по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода. Компьютерная программа представляет собой набор инструкций, которые могут непосредственно или опосредованно использоваться в компьютере для выполнения определенной активностиь или обеспечения определенного результата. Компьютерная программа может быть написана на любой форме языка программирования (например, Objective-C, Java), включающей в себя компилируемые или интерпретируемые языки, и она может быть развернута в любой форме, в том числе в качестве автономной программы или в качестве модуля, компонента, вложенной процедуры, веб-приложения на основе браузера или другого блока, подходящего для использования в вычислительном окружении.
Подходящие процессоры для выполнения программы инструкций включают в себя, в качестве примера, микропроцессоры общего и специального назначения и единственный процессор либо один из нескольких процессоров или ядер любого вида компьютера. В общем, процессор принимает инструкции и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, или из того и из другого. Существенные элементы компьютера представляют собой процессор для выполнения инструкций и одно или более запоминающих устройств для сохранения инструкций и данных. Обычно, компьютер также должен включать в себя или быть соединённым при функционировании с возможностью обмена данными с одним или более устройствами хранения данных большой емкости для сохранения файлов данных; такие устройства включают в себя магнитные диски, такие как внутренние жесткие диски и съемные диски; магнитооптические диски; и оптические диски. Устройства хранения данных, подходящие для материального осуществления компьютерных программных инструкций и данных, включают в себя все формы энергонезависимого запоминающего устройства, включающие в себя, в качестве примера, полупроводниковые запоминающие устройства, такие как EPROM, EEPROM и устройства флэш-памяти; магнитные диски, такие как внутренние жесткие диски и съемные диски; магнитооптические диски; и диски CD-ROM и DVD-ROM. Процессор и запоминающее устройство могут быть дополнены ASIC (специализированными интегральными схемами) или включены в них.
Для обеспечения взаимодействия с пользователем упомянутые признаки могут быть реализованы на компьютере, имеющем устройство отображения, такое как монитор с CRT (электронно-лучевой трубкой) или с ЖК дисплеем (жидкокристаллическим дисплеем) либо сетчаточное устройство отображения для отображения информации пользователю. Компьютер может иметь устройство ввода с сенсорной поверхностью (например, с сенсорным экраном) или клавиатуру и указательное устройство, такое как мышь или шаровой манипулятор, посредством которого пользователь может обеспечивать ввод в компьютер. Компьютер может иметь устройство голосового ввода для приема голосовых команд от пользователя.
Признаки могут реализовываться в компьютерной системе, которая включает в себя внутренний интерфейсный компонент, такой как сервер данных, либо которая включает в себя промежуточный программный компонент, такой как сервер приложений или Интернет-сервер, либо которая включает в себя внешний интерфейсный компонент, такой как клиентский компьютер, имеющий графический пользовательский интерфейс или Интернет-браузер, либо любое их сочетание. Компоненты системы могут соединяться посредством любой формы или среды цифровой передачи данных, такой как сеть связи. Примеры сетей связи включают в себя, например, LAN, WAN и компьютеры и сети, формирующие Интернет.
Вычислительная система может включать в себя клиенты и серверы. Клиент и сервер в общем являются удаленными друг от друга и обычно взаимодействуют через сеть связи. Взаимосвязь клиента и сервера осуществляется на основе компьютерных программ, работающих на соответствующих компьютерах и имеющих клиент-серверную взаимосвязь между собой. В некоторых вариантах осуществления, сервер передает данные (например, страницу HTML) в клиентское устройство (например, для целей отображения данных для и приема пользовательского ввода от пользователя, взаимодействующего с клиентским устройством). Данные, сформированные в клиентском устройстве (например, результат пользовательского взаимодействия), могут приниматься из клиентского устройства на сервере.
Система из одного или более компьютеров может быть выполнена с возможностью выполнения конкретных действий за счет наличия программного обеспечения, микропрограммного обеспечения, аппаратных средств либо их сочетания, установленного в системе, которые, при работе, предписывают системе выполнять действия. Одна или более компьютерных программ могут быть выполнены с возможностью выполнения конкретных действий за счет включения инструкций, которые при выполнении устройством обработки данных предписывают устройству выполнять действия.
При том, что данное подробное описание содержит множество конкретных сведений в отношении реализации, их следует истолковывать не как ограничения объема изобретения или формулы изобретения, а, наоборот, как описание признаков, относящихся к конкретным вариантам осуществления конкретного изобретения. Определенные признаки, которые поясняются в этом подробном описании в контексте отдельных вариантов осуществления, также могут быть реализованы в сочетании в одном варианте осуществления. Наоборот, различные признаки, которые описаны в контексте одного варианта осуществления, также могут быть реализованы во множестве вариантов осуществления по отдельности либо в любом подходящем подсочетании. Кроме того, хотя признаки могут быть описаны выше как работающие в определенных сочетаниях и даже первоначально заявляться в формуле изобретения по существу, один или более признаков из заявленного сочетания в некоторых случаях могут быть исключены из сочетания, и заявленное сочетание может быть направлено на подсочетание или на изменение подсочетания.
Аналогичным образом, хотя операции проиллюстрированы на чертежах в конкретном порядке, это не следует понимать как обязательность того, что такие операции должны выполняться в конкретном показанном порядке либо в последовательном порядке, или того, что все проиллюстрированные операции должны выполняться для достижения требуемых результатов. При определенных обстоятельствах, многозадачная и параллельная обработка может быть предпочтительной. Кроме того, разделение различных системных компонентов в вариантах осуществления, описанных выше, не следует понимать как требующее такого разделения во всех вариантах осуществления, и следует понимать, что описанные программные компоненты и системы в общем могут быть интегрированы в один программный продукт либо могут быть укомплектованы во множество программных продуктов.
Если прямо не указано иное, как очевидно из нижеприведенных пояснений, следует учитывать, что на протяжении настоящего описания пояснения с использованием таких терминов, как «обработка», «вычисление», «расчет», «определение», «анализ» и т.п., означают действие и/или процессы компьютерной или вычислительной системы либо аналогичных электронных вычислительных устройств, которые манипулируют данными и/или преобразуют данные, представленные в качестве физических, к примеру, электронных, величин, в другие данные, аналогично представленные в качестве физических величин.
Упоминание на протяжении данного описания «одного примерного варианта осуществления», «некоторых примерных вариантов осуществления» или «примерного варианта осуществления»" означает, что конкретный признак, структура или характеристика, описанная в связи с примерным вариантом осуществления, включена по меньшей мере в один примерный вариант осуществления настоящего изобретения. Таким образом, использование фраз «в одном примерном варианте осуществления», «в некоторых примерных вариантах осуществления» или «в примерном варианте осуществления» в различных частях данного описания не обязательно означают один и тот же примерный вариант осуществления. Кроме того, конкретные признаки, структуры или характеристики могут объединяться любым подходящим способом, как должно быть очевидным для специалистов в данной области техники из этого изобретения, в одном или более примерных вариантах осуществления.
При использовании в данном документе, если не указано иное, использование порядковых определений «первый», «второй», «третий» и т.д. для описания общего объекта, указывает лишь на то, что упоминаются различные экземпляры подобных объектов, и не предназначено, чтобы подразумевать, что объекты, описанные таким образом, должны находиться в данной последовательности, во временном, пространственном отношении, согласно ранжированию или любым другим способом.
Также следует понимать, что фразеология и терминология, применяемая здесь, используется с целью описания и не должна расцениваться как ограничение. Использование «включающий в себя», «содержащий» или «имеющий» и их вариантов подразумевает включение элементов, перечисленных далее, и их эквивалентов, а также дополнительных элементов. Если не указано иное или нет иных ограничений, термины «смонтированный», «соединенный», «поддерживаемый» и «соединенный» и их варианты в данном документе используются в широком смысле и заключают в себя прямые и опосредованные виды монтажа, соединений, поддержки и соединений.
В нижеприведенной формуле изобретения и в описании в данном документе, любой из терминов «содержащий», «состоящий из» или «который содержит» представляет собой многовариантный термин, который означает «включающий в себя по меньшей мере элементы/признаки, которые приведены далее, но не исключая другие». Таким образом, термин «содержащий» при использовании в формуле изобретения не должен интерпретироваться как ограничивающий средствами либо элементами или этапами, перечисленными ниже. Например, объем выражения «устройство, содержащее A и B» не должен быть ограничен устройствами, состоящими только из элементов A и B. Любые из терминов «включающий в себя» либо «который включает в себя» или «который включает в себя», при использовании в данном документе, также представляют собой многовариантный термин, который также означает «включающий в себя по меньшей мере элементы/признаки, которые приводятся после термина, но без исключения других». Таким образом, «включающий в себя» является синонимичным и означает «содержащий».
Следует учитывать, что в вышеприведенном описании примерных вариантов осуществления настоящего изобретения различные признаки настоящего изобретения иногда группируются в одном варианте осуществления, на чертеже либо в его описании для целей упрощения настоящего изобретения и помощи в понимании одного или более различных аспектов изобретения. Тем не менее, такой способ описания не следует интерпретировать как подразумевающий, что формула изобретения требует большего числа признаков, чем в явном виде изложено в каждом пункте формулы изобретения. Напротив, прилагаемая формула изобретения отражает то, что аспекты изобретения заключаются не во всех признаках одного вышеприведенного раскрытого примерного варианта осуществления. Таким образом, формула изобретения после описания настоящим в явном виде включена в данное описание, при этом каждый пункт формулы изобретения непосредственно установлен в качестве отдельного примерного варианта осуществления данного изобретения.
Кроме того, при том, что некоторые примерные варианты осуществления, описанные в данном документе, включают в себя некоторые признаки, но не включают в себя другие признаки, включенные в другие примерные варианты осуществления, подразумевается, что в объем настоящего изобретения входят сочетания признаков различных примерных вариантов осуществления и они образуют различные примерные варианты осуществления, как следует понимать специалистам в данной области техники. Например, в нижеприведенной формуле изобретения любой из заявленных примерных вариантов осуществления может использоваться в любом сочетании.
В описании, приведённом в настоящем документе, изложено множество конкретных подробностей. Тем не менее, следует понимать, что примерные варианты осуществления настоящего изобретения могут осуществляться на практике без этих конкретных подробностей. В других случаях, хорошо известные способы, структуры и технологии не показаны подробно, чтобы не затруднять понимание данного описания.
Таким образом, при том, что описано то, что считается оптимальными режимами настоящего изобретения, специалистам в данной области техники следует понимать, что в них могут вноситься другие и дополнительные модификации, не выходящие за рамки сущности настоящего изобретения, и на все такие изменения и модификации испрашивается правовая охрана как входящие в объем настоящего изобретения. Например, любые формулы, приведенные выше, представляют лишь процедуры, которые могут быть использованы. Функциональные элементы может добавляться в блок-схемы или удаляться из них, и операции могут меняться местами между функциональными блоками. Этапы могут добавляться или удаляться для описанных способов в пределах объема настоящего изобретения.
Пронумерованные примерные варианты осуществления (EEE) настоящего изобретения описаны выше в отношении способов и систем для определения индикатора качества звучания входного аудиосигнала. Таким образом, вариант осуществления настоящего изобретения может относиться к одному или более примеров, перечисленных ниже:
EEE 1. Способ декодирования кодированного потока мультимедийных битов в мультиплексированном формате, причем мультиплексированный формат включает в себя поле предварительного выбора для перечня версий со свойствами упомянутых версий, причем поле предварительного выбора является агностическим по отношению к кодированному мультимедийному формату:
- определение из поля предварительного выбора перечня версий со свойствами для способа выбора;
- декодирование кодированного потока мультимедийных битов на основе способа выбора таким образом, чтобы вывести воспроизводимую аудиоверсию.
EEE 2. Способ по EEE 1, в котором способ выбора представляет собой UI, доступный для конечного пользователя, визуализирующего версии и свойства для выполнения мгновенного выбора.
EEE 3. Способ по EEE 1, в котором способ выбора представляет собой автоматический процесс на основе настроек пользовательских предпочтений.
EEE 4. Способ по EEE 1, в котором способ выбора представляет собой автоматический процесс на основе информации относительно конечного устройства, географического региона для воспроизведения или других характеристик данных.
EEE 5. Способ по любому из EEE 1-4, в котором мультиплексированный формат представляет собой ISOBMFF, транспортный поток или MXF.
EEE 6. Способ по EEE 5, в котором поток мультимедийных битов включает в себя зашифрованные мультимедийные рабочие данные, и при этом формат кодирования представляет собой открытый текст.
EEE 7. Способ по любому из EEE 1-4, в котором способ декодирования используется для специализированной архитектуры воспроизведения, специализированного типа мультимедиа или специализированных предварительных выборов для аудио, видео и виртуальной реальности.
EEE 8. Способ по любому из EEE 1-4, в котором мультиплексированный формат включает в себя информацию относительно загруженного пользовательского выбора.
EEE 9. Способ для пакетирования кодированных мультимедийных объектов для передачи, при этом формат передачи охватывает файл манифеста, перечисляющий объекты, при этом способ содержит:
- пакетирование файла манифеста, при этом файл манифеста охватывает перечень доступных версий и их свойств, которые должны извлекаться либо из однопотоковых, либо многопотоковых объектов, и при этом упомянутый перечень может извлекаться из объектов без осуществления доступа к относящейся к кодеку информации.
EEE 10. Способ по EEE 9, в котором файл манифеста имеет формат MPEG DASH, HLS или SDP.
EEE 11. Способ обработки мультимедийного потока, содержащий:
- прием мультимедийного потока, пакетизированного в соответствии с заданным транспортным форматом, при этом пакетизированный мультимедийный поток содержит множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля, при этом множество полей содержат одно или более полей дорожек, ссылающихся на дорожки, указывающие мультимедийные компоненты мультимедийного потока, и одно или более полей групп дорожек, ассоциированных с соответствующим идентификатором группы дорожек и соответствующим типом группы дорожек, которые совместно идентифицируют соответствующую группу дорожек в мультимедийном потоке, и при этом дорожки, имеющие одинаковый идентификатор группы дорожек и одинаковый тип группы дорожек, относятся к одной и той же группе дорожек; и при этом каждая такая группа дорожек определяет предварительный выбор;
- посещение всех полей дорожек в мультимедийном потоке для определения совокупного набора предварительных выборов;
- при этом определение выполняется посредством определения набора всех уникальных пар из идентификаторов групп дорожек и типов групп дорожек и адресации предварительных выборов посредством идентификатора группы дорожек;
- выбор предварительного выбора на основе атрибутов предварительного выбора, обнаруженных во всех полях групп дорожек с одинаковым идентификатором группы дорожек;
- определение набора из одного или более полей дорожек, вносящих вклад в предварительный выбор, идентифицированный посредством присутствия поля группы дорожек с одинаковым идентификатором группы дорожек; и
- определение вносящих вклад дорожек, на которые имеется ссылка в каждом элементе набора полей дорожек.
Группа изобретений обносится к области обработки мультимедийного потока. Технический результат - обеспечение эффективного определения и последующей сигнализации дорожек в мультимедийном потоке, которые выполнены с возможностью внесения вклада в конкретный предварительный выбор, за счет этого обеспечивая дополнительно подходящую последующую обработку таких вносящих вклад дорожек. Такой результат достигается за счет приема мультимедийного потока, пакетизированного в соответствии с заданным транспортным форматом, при этом пакетизированный мультимедийный поток содержит множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля, и при этом множество полей содержат одно или более полей дорожек, ссылающихся на соответствующие дорожки, указывающие мультимедийные компоненты мультимедийного потока; определения, содержит ли мультимедийный поток связанное с предварительным выбором поле заданного типа, указывающее предварительный выбор, при этом предварительный выбор соответствует представлению мультимедиа пользователю; и если определено, что мультимедийный поток содержит связанное с предварительным выбором поле: анализа информации метаданных, соответствующей связанному с предварительным выбором полю, причем информация метаданных указывает характеристики предварительного выбора; идентификации одной или более дорожек в пакетизированном мультимедийном потоке, вносящих вклад в предварительный выбор, на основе информации метаданных; и обеспечения одной или более дорожек для последующей обработки в соответствии с данным предварительным выбором. 5 н. и 29 з.п. ф-лы, 2 табл., 12 ил.
1. Способ обработки мультимедийного потока, содержащий этапы, на которых:
принимают мультимедийный поток, пакетизированный в соответствии с заданным транспортным форматом, при этом пакетизированный мультимедийный поток содержит множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля, и при этом множество полей содержат одно или более полей дорожек, ссылающихся на соответствующие дорожки, указывающие мультимедийные компоненты мультимедийного потока;
определяют, содержит ли мультимедийный поток связанное с предварительным выбором поле заданного типа, указывающее предварительный выбор, при этом предварительный выбор соответствует представлению мультимедиа пользователю; и
если определено, что мультимедийный поток содержит связанное с предварительным выбором поле:
анализируют информацию метаданных, соответствующую связанному с предварительным выбором полю, причем информация метаданных указывает характеристики предварительного выбора;
идентифицируют одну или более дорожек в пакетизированном мультимедийном потоке, вносящих вклад в предварительный выбор, на основе информации метаданных; и
обеспечивают одну или более дорожек для последующей обработки в соответствии с данным предварительным выбором,
при этом мультимедийный поток дополнительно содержит информацию обработки, указывающую, как должны обрабатываться дорожки, вносящие вклад в предварительный выбор;
при этом информация обработки содержит информацию упорядочивания, указывающую порядок дорожек для обработки одной или более дорожек;
при этом информация обработки содержит информацию объединения, указывающую, должны ли одна или более дорожек объединяться с одной или более других дорожек для объединенной обработки;
при этом способ дополнительно содержит этапы, на которых:
объединяют одну или более дорожек в соответствии с информацией объединения и информацией упорядочивания;
при этом информация упорядочивания содержит для каждой дорожки, вносящей вклад в предварительный выбор, соответствующее порядковое значение дорожки для задания порядка дорожек для дорожек;
при этом информация объединения содержит соответствующий флаг объединения для каждой дорожки, вносящей вклад в предварительный выбор, при этом первое заданное значение флага объединения указывает, что соответствующая дорожка должна объединяться с примыкающей дорожкой в порядке дорожек, и второе заданное значение флага объединения указывает, что соответствующая дорожка должна обрабатываться отдельно; и
при этом объединение одной или более дорожек в соответствии с информацией объединения и информацией упорядочивания содержит этапы, на которых:
последовательно сканируют дорожки в соответствии с порядком дорожек; и
объединяют дорожки в соответствии с соответствующими флагами объединения.
2. Способ по п. 1, дополнительно содержащий этап, на котором
декодируют одну или более дорожек для воспроизведения мультимедийного потока согласно представлению мультимедиа, указываемому предварительным выбором.
3. Способ по п. 2, в котором одна или более дорожек декодируются посредством последующего устройства.
4. Способ по п. 2, в котором объединение одной или более дорожек и декодирование одной или более дорожек выполняются посредством одного отдельного устройства.
5. Способ по любому из предшествующих пунктов, в котором мультимедийный поток содержит множество связанных с предварительным выбором полей заданного типа, и при этом способ дополнительно содержит этап, на котором выбирают связанное с предварительным выбором поле из множества связанных с предварительным выбором полей.
6. Способ по п. 5, в котором связанное с предварительным выбором поле выбирается приложением.
7. Способ по п. 5 или 6, в котором мультимедийный поток содержит одно или более полей меток, содержащих информацию описания для соответствующего представления мультимедиа пользователю, соответствующему предварительному выбору; и
при этом выбор связанного с предварительным выбором поля основан на вводе пользователя.
8. Способ по любому из предшествующих пунктов, в котором связанное с предварительным выбором поле является агностическим по отношению к мультимедийному кодеку, используемому для кодирования мультимедийного потока перед пакетированием.
9. Способ по любому из предшествующих пунктов, в котором информация метаданных, соответствующая связанному с предварительным выбором полю, содержит идентификационную информацию дорожки, указывающую один или более идентификаторов дорожек, ассоциированных с соответствующей дорожкой, при этом дорожки, ассоциированные с одним или более идентификаторов дорожек в информации метаданных, связаны с представлением мультимедиа.
10. Способ по любому из предшествующих пунктов, в котором информация метаданных, соответствующая связанному с предварительным выбором полю, содержит идентификационную информацию предварительного выбора, указывающую идентификатор предварительного выбора для идентификации предварительного выбора.
11. Способ по любому из предшествующих пунктов, в котором информация метаданных, соответствующая связанному с предварительным выбором полю, содержит уникальные относящиеся к предварительному выбору данные для конфигурирования последующего устройства с возможностью декодирования дорожек в соответствии с предварительным выбором.
12. Способ обработки мультимедийного потока, содержащий этапы, на которых:
принимают мультимедийный поток, пакетизированный в соответствии с заданным транспортным форматом, при этом пакетизированный мультимедийный поток содержит множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля, при этом множество полей содержат одно или более полей дорожек, ссылающихся на соответствующие дорожки, указывающие мультимедийные компоненты мультимедийного потока, и одно или более полей групп дорожек, ассоциированных с соответствующей парой из идентификатора группы дорожек и типа группы дорожек, которые совместно идентифицируют соответствующую группу дорожек в мультимедийном потоке, при этом дорожки, имеющие одинаковый идентификатор группы дорожек и одинаковый тип группы дорожек, относятся к одной и той же группе дорожек; и при этом каждая такая группа дорожек определяет предварительный выбор, соответствующий представлению мультимедиа пользователю;
проверяют поля дорожек в мультимедийном потоке для определения полного набора предварительных выборов, которые присутствуют в мультимедийном потоке, при этом определение полного набора предварительных выборов содержит этап, на котором: определяют набор уникальных пар из идентификаторов групп дорожек и типов групп дорожек и адресуют предварительные выборы посредством соответствующих идентификаторов групп дорожек;
выбирают предварительный выбор из полного набора предварительных выборов, при этом предварительный выбор выбирают на основе атрибутов соответствующего предварительного выбора, которые включены в поля групп дорожек с одинаковым идентификатором группы дорожек;
определяют набор из одного или более полей дорожек, вносящих вклад в выбранный предварительный выбор, при этом набор из одного или более полей дорожек, вносящих вклад в предварительный выбор, идентифицируют посредством присутствия поля группы дорожек с одинаковым идентификатором группы дорожек;
определяют в качестве одной или более дорожек, вносящих вклад в предварительный выбор, дорожки, на которые имеется ссылка в каждом элементе набора из одного или более полей дорожек; и
обеспечивают одну или более дорожек для последующей обработки в соответствии с предварительным выбором,
при этом каждый предварительный выбор ассоциирован с соответствующим связанным с предварительным выбором полем заданного типа, и при этом связанное с предварительным выбором поле создает экземпляр поля группы дорожек с заданным типом группы дорожек, связанным с предварительным выбором;
при этом связанное с предварительным выбором поле ассоциировано с полем обработки предварительного выбора, содержащим информацию обработки, указывающую, как должны обрабатываться дорожки, вносящие вклад в предварительный выбор;
при этом информация обработки содержит информацию упорядочивания, указывающую порядок дорожек для упорядочения дорожек;
при этом информация обработки содержит информацию объединения, указывающую, должна ли дорожка объединяться с одной или более других дорожек;
при этом способ дополнительно содержит этап, на котором:
объединяют дорожки в соответствии с информацией объединения и информацией упорядочивания;
при этом информация упорядочивания содержит порядковое значение дорожки для задания порядка дорожек для дорожек;
при этом информация объединения содержит флаг объединения, при этом первое заданное значение флага объединения указывает, что дорожка должна объединяться с примыкающей дорожкой в порядке дорожек, и второе заданное значение флага объединения указывает, что дорожка должна обрабатываться отдельно; и
при этом объединение одной или более дорожек в соответствии с информацией объединения и информацией упорядочивания содержит этапы, на которых:
последовательно сканируют дорожки в соответствии с порядком дорожек; и
объединяют дорожки в соответствии с соответствующими флагами объединения.
13. Способ по п. 12, в котором связанное с предварительным выбором поле ассоциировано с полем информации предварительного выбора, содержащим семантическую информацию, указывающую предварительный выбор.
14. Способ по п. 12 или 13, в котором информация обработки содержит уникальные относящиеся к предварительному выбору данные для конфигурирования последующего устройства с возможностью декодирования дорожек в соответствии с предварительным выбором.
15. Способ по любому из пп. 12-14, дополнительно содержащий этап, на котором
декодируют дорожки для воспроизведения мультимедийного потока согласно представлению мультимедиа, указываемому посредством предварительного выбора.
16. Способ по п. 15, в котором одна или более дорожек декодируются посредством последующего устройства.
17. Способ по п. 15, в котором объединение и декодирование дорожек выполняются одним отдельным устройством.
18. Способ по любому из пп. 12-17, в котором предварительный выбор определяется приложением.
19. Способ по любому из пп. 12-18, в котором мультимедийный поток содержит одно или более полей меток, каждое из которых связывается с соответствующим полем информации предварительного выбора соответствующего предварительного выбора, и при этом каждое поле меток содержит информацию описания для соответствующего представления мультимедиа пользователю; и
при этом определение предварительного выбора основано на вводе пользователя.
20. Способ по любому из предшествующих пунктов, в котором мультимедийный поток содержит по меньшей мере одно из аудиопотока или видеопотока.
21. Способ обработки мультимедийного потока, содержащий этап, на котором
инкапсулируют один или более элементарных потоков в соответствии с заданным транспортным форматом для формирования пакетизированного мультимедийного потока,
при этом пакетизированный мультимедийный поток содержит множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля; и
при этом инкапсуляция одного или более элементарных потоков содержит этапы, на которых:
пакетизируют мультимедийные данные одного или более элементарных потоков в соответствии с транспортным форматом для формирования одного или более полей дорожек, ссылающихся на соответствующие дорожки одного или более элементарных потоков;
формируют одно или более связанных с предварительным выбором полей заданного типа на основе информации заголовка одного или более элементарных потоков, при этом каждое из одного или более связанных с предварительным выбором полей указывает соответствующий предварительный выбор, который соответствует представлению мультимедиа пользователю; и
формируют одно или более полей обработки предварительного выбора, содержащих информацию обработки, указывающую, как должны обрабатываться дорожки, вносящие вклад в соответствующий предварительный выбор,
при этом информация обработки содержит информацию упорядочивания, указывающую порядок дорожек для обработки одной или более дорожек;
при этом информация обработки содержит информацию объединения, указывающую, должны ли одна или более дорожек объединяться с одной или более других дорожек для объединенной обработки;
при этом информация упорядочивания содержит для каждой дорожки, вносящей вклад в предварительный выбор, соответствующее порядковое значение дорожки для задания порядка дорожек для дорожек; и
при этом информация объединения содержит соответствующий флаг объединения для каждой дорожки, вносящей вклад в предварительный выбор, при этом первое заданное значение флага объединения указывает, что соответствующая дорожка должна объединяться с примыкающей дорожкой в порядке дорожек, и второе заданное значение флага объединения указывает, что соответствующая дорожка должна обрабатываться отдельно.
22. Способ по п. 21, в котором каждое из одного или более связанных с предварительным выбором полей содержит информацию метаданных, указывающую характеристики соответствующего предварительного выбора; и
при этом информация метаданных содержит информацию, указывающую одну или более дорожек в мультимедийном потоке, вносящих вклад в соответствующий предварительный выбор.
23. Способ по п. 22, в котором информация метаданных, соответствующая соответствующему связанному с предварительным выбором полю, дополнительно содержит по меньшей мере одно из:
идентификационной информации предварительного выбора, указывающей идентификатор предварительного выбора для идентификации соответствующего предварительного выбора, или
уникальных относящихся к предварительному выбору данных для декодирования дорожек в соответствии с предварительным выбором.
24. Способ по п. 21, в котором инкапсуляция элементарного мультимедийного потока дополнительно содержит этап, на котором формируют одно или более полей групп дорожек, ассоциированных с соответствующим идентификатором группы дорожек и соответствующим типом группы дорожек, которые совместно идентифицируют соответствующую группу дорожек в пакетизированном мультимедийном потоке, при этом дорожки, имеющие одинаковый идентификатор группы дорожек и одинаковый тип группы дорожек, относятся к одной и той же группе дорожек; и
при этом формирование одного или более связанных с предварительным выбором полей содержит этапы, на которых:
назначают первый уникальный идентификатор каждому предварительному выбору; и
формируют для каждой дорожки, вносящей вклад в соответствующий предварительный выбор, соответствующее связанное с предварительным выбором поле, ассоциированное с соответствующим предварительным выбором, при этом связанное с предварительным выбором поле создает экземпляр поля группы дорожек с заданным типом группы дорожек, связанным с предварительным выбором и задающим идентификатор группы дорожек в качестве первого уникального идентификатора.
25. Способ по п. 24, в котором поле группы дорожек формируется посредством группировки дорожек, вносящих вклад в один предварительный выбор, на основе соответствующего типа мультимедиа дорожек.
26. Способ по п. 25, в котором тип мультимедиа включает в себя по меньшей мере одно из: аудиоданных, видеоданных и субтитров.
27. Способ по любому из пп. 21-26, дополнительно содержащий этапы, на которых:
принимают по меньшей мере одно входное мультимедиа; и
обрабатывают входное мультимедиа для формирования одного или более элементарных потоков, при этом один или более элементарных потоков содержат мультимедийные данные входного мультимедиа и соответствующую информацию заголовка.
28. Способ по любому из пп. 21-27, при этом способ дополнительно содержит этап, на котором
формируют файл манифеста на основе одного или более связанных с предварительным выбором полей.
29. Способ по п. 28, в котором файл манифеста представляет собой файл формата динамической адаптивной потоковой передачи MPEG по HTTP (DASH) или файл формата передаваемого в реальном времени потока HTTP (HLS).
30. Способ обработки мультимедийного потока, содержащий этапы, на которых:
принимают мультимедийный поток, пакетизированный в соответствии с заданным транспортным форматом, при этом пакетизированный мультимедийный поток содержит множество иерархических полей, ассоциированных с соответствующим идентификатором типа поля, при этом множество полей содержат одно или более полей дорожек, ссылающихся на соответствующие дорожки, указывающие мультимедийные компоненты мультимедийного потока, и одно или более связанных с предварительным выбором полей заданного типа, и при этом каждое связанное с предварительным выбором поле указывает соответствующий предварительный выбор, который соответствует представлению мультимедиа пользователю; и
формируют файл манифеста на основе одного или более связанных с предварительным выбором полей,
при этом мультимедийный поток дополнительно содержит информацию обработки, указывающую, как должны обрабатываться дорожки, вносящие вклад в предварительный выбор;
при этом информация обработки содержит информацию упорядочивания, указывающую порядок дорожек для обработки одной или более дорожек;
при этом информация обработки содержит информацию объединения, указывающую, должны ли одна или более дорожек объединяться с одной или более других дорожек для объединенной обработки;
при этом информация упорядочивания содержит для каждой дорожки, вносящей вклад в предварительный выбор, соответствующее порядковое значение дорожки для задания порядка дорожек для дорожек; и
при этом информация объединения содержит соответствующий флаг объединения для каждой дорожки, вносящей вклад в предварительный выбор, при этом первое заданное значение флага объединения указывает, что соответствующая дорожка должна объединяться с примыкающей дорожкой в порядке дорожек, и второе заданное значение флага объединения указывает, что соответствующая дорожка должна обрабатываться отдельно.
31. Способ по п. 30, в котором файл манифеста представляет собой файл формата динамической адаптивной потоковой передачи MPEG по HTTP (DASH) или файл формата передаваемого в реальном времени потока HTTP (HLS).
32. Способ по любому из предшествующих пунктов, в котором представление мультимедиа пользователю отличается соответствующей конфигурацией, связанной с языком, видом и/или одним или более относящимися к мультимедиа атрибутами мультимедийного потока.
33. Способ по любому из предшествующих пунктов, в котором заданный транспортный формат представляет собой базовый формат мультимедийных файлов по стандарту ISO (ISOBMFF).
34. Устройство обработки мультимедийных потоков, содержащее процессор и запоминающее устройство, соединенное с процессором, при этом процессор выполнен с возможностью предписания устройству обработки мультимедийных потоков осуществлять способ по любому из пп. 1-11.
US 20200260063 A1, 13.08.2020 | |||
WO 2021058814 A1, 01.04.2021 | |||
US 10951871 B2, 16.03.2021 | |||
US 20200296397 A1, 17.09.2020 | |||
CN 105052167 B, 09.10.2018 | |||
WO 2017029400 A1, 23.02.2017 | |||
СПОСОБ, УСТРОЙСТВО И КОМПЬЮТЕРНАЯ ПРОГРАММА ДЛЯ ИНКАПСУЛЯЦИИ СЕГМЕНТИРОВАННЫХ СИНХРОНИЗИРОВАННЫХ МУЛЬТИМЕДИЙНЫХ ДАННЫХ | 2018 |
|
RU2689140C1 |
СПОСОБ, УСТРОЙСТВО И КОМПЬЮТЕРНАЯ ПРОГРАММА ДЛЯ ИНКАПСУЛЯЦИИ МАСШТАБИРУЕМЫХ РАЗДЕЛЕННЫХ ДАННЫХ МУЛЬТИМЕДИА С ВРЕМЕННОЙ ПРИВЯЗКОЙ | 2017 |
|
RU2681086C1 |
СЕГМЕНТИРОВАННЫЕ МЕТАДАННЫЕ И ИНДЕКСЫ ДЛЯ ПОТОКОВЫХ МУЛЬТИМЕДИЙНЫХ ДАННЫХ | 2008 |
|
RU2477883C2 |
ИНКАПСУЛЯЦИЯ ДАННЫХ ИЗОБРАЖЕНИЯ | 2016 |
|
RU2719368C2 |
Авторы
Даты
2024-11-28—Публикация
2022-06-28—Подача