ДЕКОДЕР ЗВУКОВОГО СИГНАЛА, КОДЕР ЗВУКОВОГО СИГНАЛА, СПОСОБ ВЫДАЧИ ДЕКОДИРОВАННОГО ЗВУКОВОГО СИГНАЛА, СПОСОБ ВЫДАЧИ КОДИРОВАННОГО ЗВУКОВОГО СИГНАЛА, ЗВУКОВОЙ ПОТОК, ПОСТАВЩИК ЗВУКОВОГО ПОТОКА И КОМПЬЮТЕРНАЯ ПРОГРАММА, ИСПОЛЬЗУЮЩИЕ ИДЕНТИФИКАТОР ПОТОКА
SOUND SIGNAL DECODER, SOUND SIGNAL ENCODER, METHOD FOR ISSUE OF DECODED SOUND SIGNAL, METHOD FOR ISSUE OF ENCODED SOUND SIGNAL, SOUND STREAM, SOUND STREAM PROVIDER AND COMPUTER PROGRAM, USING STREAM IDENTIFIER

Область техники
Варианты осуществления согласно изобретению относятся к декодеру звукового сигнала для выдачи декодированного представления звукового сигнала на основе кодированного представления звукового сигнала.
Дополнительные варианты осуществления согласно изобретению относятся к кодеру звукового сигнала для выдачи кодированного представления звукового сигнала.
Дополнительные варианты осуществления согласно изобретению относятся к способу выдачи декодированного представления звукового сигнала.
Дополнительные варианты осуществления согласно изобретению относятся к способу выдачи кодированного представления звукового сигнала.
Дополнительные варианты осуществления согласно изобретению относятся к звуковому потоку.
Дополнительные варианты осуществления согласно изобретению относятся к поставщику (устройству для выдачи) звукового потока.
Дополнительные варианты осуществления согласно изобретению относятся к компьютерной программе для выполнения одного из способов.
Уровень техники изобретения
В нижеследующем, будут описаны задачи, лежащие в основе аспектов изобретения, и возможные сценарии использования применительно к вариантам осуществления согласно изобретению.
Есть ситуации, в которых бывают переходы между разными звуковыми потоками или между разными последовательностями кодированных звуковых кадров. Например, разные последовательности звуковых кадров могут содержать разный звуковой контент, между которым должен выполняться переход.
Например, когда USAC MPEG-D (ISO/IEC 23003-3+Amd.1+Amd.2+Amd.3) применяется в случае использования адаптивной потоковой передачи данных, может возникать ситуация, в которой два потока в пределах так называемого набора адаптации (который, например, может группировать два или более потоков, между которыми может переключаться пользователь) имеют в точности идентичные конфигурационные структуры, даже если их скорости передачи битов различны. Это, например, может происходить, если кодер предпочитает просто эксплуатировать кодер с в точности идентичным набором средств кодирования для обеих скоростей передачи битов.
Например, кодер звукового сигнала может пользоваться идентичными фундаментальными настройкам кодирования (которые также сигнализируются в декодер звукового сигнала), но может по-прежнему выдавать разные представления значений звукового сигнала. Например, кодер звукового сигнала может использовать более грубое квантование спектральных значений, что приводит к меньшей потребности в битах, когда желательно добиться более низкой скорости передачи битов, даже если фундаментальные настройки кодера или настройки декодера остаются неизменными.
Однако, это (например, возникновение ситуации, в которой два потока в пределах набора адаптации имеют в точности идентичные конфигурационные структуры, даже если их скорости передачи битов различны) по существу не является проблематичным.
Однако, было обнаружено, что в случае использования адаптивной потоковой передачи данных декодер должен знать, происходят или нет принимаемые впоследствии блоки доступа (или «кадры») из одного и того же потока или произошла смена потока.
Было обнаружено, что, если была выявлена смена потоков, декодер звукового сигнала в некоторых случаях будет прогонять заданную последовательность операционных этапов, которые обеспечивают следующее:
Один экземпляр декодера надлежащим образом выключается, и временно хранимые внутри части декодированного сигнала подаются на выход декодера – процесс, называемый «очисткой».
Декодер будет повторно конкретизировать и перестраивать самого себя с использованием конфигурационной информации, связанной с измененным потоком.
Декодер будет «подматывать» запомненные блоки доступа, которые передаются для совместной обработки в ближайшем кадре воспроизведения (IPF). Эта подмотка (pre-roll, опережающее продвижение данных) блоков доступа устанавливает декодер в полностью инициализированное состояние, так чтобы выходной сигнал из декодирования первого кадра давал в результате полностью совместимый декодированный звуковой сигнал.
По выбору, например, в зависимости от соответствующего элемента сигнализации битового потока, звуковой выходной сигнал из процесса очистки декодера и выходной сигнал из декодирования первого блока доступа реконфигурированного декодера подвергаются плавному переходу (cross-fade, монтажному переходу, с плавным изменением громкости) за очень короткий период времени.
Все из вышеприведенных этапов, например, могут выполняться для достижения единственной цели получения «бесшовного» перехода с декодированного звукового сигнала одного потока на декодированный звуковой сигнал другого потока. «Бесшовный» означает, что нет слышимых артефактов и нет сбоев из-за самих переходов между потоками. Переход между потоками фактически может быть заметным восприятию, например, вследствие изменения общего качества кодирования либо полосы пропускания или тембра звукового сигнала. Фактический момент (времени) перехода, однако, не является причиной слухового впечатления сам по себе. Другими словами, нет «щелчков» или «шумовых выбросов», или аналогичных возмущающих звуков в момент перехода.
Было обнаружено, что информация о том, возникло или нет изменение потока, может получаться из анализа конфигурационной структуры, которая встроена в ближайший кадр воспроизведения, и сравнения ее с конфигурацией декодируемого на данный момент потока. Например, декодер звукового сигнала может допускать изменение потока, если и только если принятая конфигурация отличается от текущей.
Например, если декодер принимает ближайший кадр воспроизведения (IPF) потока с меняющейся скоростью передачи битов, он выявляет наличие полезной нагрузки расширения подмотки звукового сигнала, извлекает конфигурационную структуру и будет проводить сравнение между этой новой конфигурацией и текущей. Ради дополнительных подробностей, также смотрите ISO/IEC 23003-3:2012/Amd.3, подпункт «Адаптация скорости передачи битов» («Bitrate adaption»).
Однако, было обнаружено, что, если обе конфигурационных структуры, текущая и новая, идентичны, декодеру не удастся распознать, что он принимает блоки доступа из потока, иного чем раньше, и, таким образом, он не будет ни реконфигурировать декодер, нидекодировать подмотку звукового сигнала, которая находится в полезной нагрузке расширения IPF.
Взамен, декодер будет пытаться продолжать осуществлять декодирование, как если бы он принимал непрерывные блоки доступа из предыдущего действующего потока. Это (например, в традиционном случае, в котором не используется streamID или эквивалент) приведет к вероятной ситуации, в которой границы окон и режимы кодирования последнего декодированного кадра и нового кадра из нового потока не соответствуют, что, в свою очередь, приводит к слышимым артефактам, таким как щелчки или шумовые выбросы. Это будет нарушать основную цель IPF и идеи адаптивной потоковой передачи данных звукового сигнала, которая основана на концепции бесшовных переходов между потоками.
В нижеследующем, будут описаны некоторые традиционные подходы.
Должно быть отмечено, что, применительно к унифицированному кодированию речи и звуковых сигналов (USAC), известного решения нет.
В звуковом сигнале 3D MPEG-H (ISO/IEC 23008-3+все поправки), проблема может быть решена, если звуковые данные передаются посредством пакетированного потокового формата звукового потока MPEG-H («MHAS»). Пакеты MHAS содержат в себе метку пакета, которая может быть разной между потоками, а потому, может служить цели проведения различия между конфигурациями. Формат MHAS, однако, не задан для USAC MPEG-D.
В HE-AAC MPEG-4 (ISO/IEC 14496-3+все поправки), есть обходной путь, который требует, чтобы кодер гарантировал, что в возможные моменты перехода (в так называемых точках доступа к потоку (SAP)) все потоки имели идентичные формы окна и последовательности окон, а также дополнительные ограничения в отношении применяемого средства обработки сигнала. Это может оказывать пагубное воздействие на результирующее качество звука. Упомянутый выше IPF был как раз предназначен для освобождения нового кодека от всех этих ограничений.
Таким образом, есть потребность в концепции, которая предоставляет возможность для переключения между разными звуковыми потоками, и которая обеспечивает компромисс между объемом накладных расходов и легкостью реализации.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Вариант осуществления согласно изобретению предоставляет декодер звукового сигнала для выдачи декодированного представления звукового сигнала на основе кодированного представления звукового сигнала. Декодер звукового сигнала выполнен с возможностью настраивать параметры декодирования в зависимости от конфигурационной информации. Декодер звукового сигнала выполнен с возможностью декодировать один или более звуковых кадров с использованием текущей конфигурации (например, с использованием действующей конфигурационной информации). Более того, декодер звукового сигнала выполнен с возможностью сравнивать конфигурационную информацию в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, с текущей конфигурационной информацией, и осуществлять переход для выполнения декодирования с использованием конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, в качестве новой конфигурационной информации, если конфигурационная информация в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, или релевантная часть (например, вплоть до и включая идентификатор потока) конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, отлична от текущей конфигурационной информации. Декодер звукового сигнала выполнен с возможностью учитывать информацию о идентификаторе потока, включенную в конфигурационную структуру, при сравнении конфигурационной информации, так чтобы различие между идентификатором потока, полученным ранее декодером звукового сигнала, и идентификатором потока, представленным информацией об идентификаторе потока в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, побуждало осуществить переход.
Этот вариант осуществления согласно изобретению основан на идее, что наличие оценки информации об идентификаторе потока, которая включена в конфигурационную структуру, предоставляет возможность для различения разных потоков на стороне декодера звукового сигнала и, следовательно, выполнения перехода, даже в случае, когда действующая конфигурация декодирования (которая, например, может быть описана оставшейся частью конфигурационной информации в конфигурационной структуре) идентична для обоих потоков. Соответственно, идентификатор потока может использоваться в качестве критерия для проведения различия между разными потоками, между которыми может выполняться переход. Поскольку информация об идентификаторе потока включена в конфигурационную структуру (например, вместе с другой конфигурационной информацией, настраивающей параметры декодирования декодера звукового сигнала), не обязательно оценивать какую бы то ни было информацию с другого уровня протокола при принятии решения, должен ли быть выполнен переход. Например, информация об идентификаторе потока включена в подструктуру данных из структуры данных, которая определяет параметры декодирования («конфигурационную структуру»), так чтобы не было нужно пересылать какую бы то ни было информацию с пакетного уровня в действующий декодер звукового сигнала. Посредством включения в конфигурационную структуру информации об идентификаторе потока, которая предоставляет декодеру звукового сигнала возможность распознавать переход с первого потока на второй поток, но которая не оказывает никакого влияния на параметры декодирования при декодировании непрерывного участка единого потока, можно распознавать, на стороне декодера звукового сигнала, переключение между разными потоками, не осуществляя доступ к информации с другого уровня протокола, даже в ситуации, в которой идентичные параметры декодирования используются в разных потоках. К тому же, не обязательно пользоваться идентичными параметрами декодирования в разных потоках в положениях, в которых допустимо переключение между разными потоками.
Таким образом, концепция, определенная независимым пунктом 1 формулы изобретения, предоставляет возможность для распознавания переключения между разными потоками с умеренной сложностью реализации (например, не извлекая специализированную сигнальную информацию из других уровней протокола и не пересылая ее в декодер звукового сигнала), тем временем избегая необходимости принудительно применять конкретные настройки кодирования/декодирования (такие как выбор окна, и так далее) в моменты перехода. Таким образом, избыточные накладные расходы и ухудшение качества звука также могут избегаться.
В предпочтительном варианте осуществления, декодер звукового сигнала выполнен с возможностью проверять, содержит ли конфигурационная структура информацию об идентификаторе потока, и избирательно учитывать информацию об идентификаторе потока при сравнении, если информация об идентификаторе потока включена в конфигурационную структуру. Соответственно, не обязательно включать информацию об идентификаторе потока в каждую конфигурационную структуру. Предпочтительнее, можно не включать идентификатор потока в конфигурационные структуры звуковых кадров, в которых не требуется возможность для переключения между разными потоками. Соответственно, некоторые биты могут быть сэкономлены, и оценка информации об идентификаторе потока может избегаться в моменты, в которые переключение между разными потоками не допустимо.
В предпочтительном варианте осуществления, декодер звукового сигнала выполнен с возможностью проверять, содержит ли конфигурационная структура структуру расширения конфигурации, и проверять, содержит ли структура расширения конфигурации идентификатор потока. Декодер звукового сигнала может быть выполнен с возможностью избирательно учитывать информацию об идентификаторе потока при сравнении, если информация об идентификаторе потока включена в структуру расширения конфигурации.
Соответственно, идентификатор потока может быть размещен в структуре расширения конфигурации, наличие которой необязательно, при этом, наличие информации об идентификаторе потока точно может рассматриваться в качестве необязательного, даже если присутствует структура расширения конфигурации. Соответственно, декодер звукового сигнала может гибко распознавать, присутствует ли информация об идентификаторе потока, что дает кодеру звукового сигнала возможность избегать включения ненужной информации. С размещением идентификатора потока в структуре данных, которая может вводиться в действие и выводиться из работы (например, флажковым признаком в неизменной (всегда присутствующей) части конфигурационной структуры), информация об идентификаторе потока может размещаться в точности там, где нужно, тем временем, экономя биты, если информация об идентификаторе потока не нужна. Это полезно, поскольку не нужно, чтобы каждый кадр, для которого есть конфигурационная структура, также включал в себя информацию об идентификаторе потока, так как переключение между потоками типично возможно только в заданные моменты времени.
В предпочтительном варианте осуществления декодер звукового сигнала выполнен с возможностью допускать переменное упорядочение элементов конфигурационной информации в структуре расширения конфигурации. Например, декодер звукового сигнала выполнен с возможностью учитывать элементы конфигурационной информации (например, расширения конфигурации), размещенные в структуре расширения конфигурации, до информации об идентификаторе потока (например, до элемента, названного «streamID») (например, также как информацию об идентификаторе потока) при сравнении конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, с текущей конфигурационной информацией. Более того, декодер звукового сигнала может быть выполнен с возможностью оставлять элементы конфигурационной информации, (например, расширения конфигурации) размещенные в структуре расширения конфигурации (например, «UsacConfigExtension()») после информации об идентификаторе потока, неучтенными при сравнении конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, с текущей конфигурационной информацией.
Посредством использования такой концепции выявление переходов между разными потоками может выполняться очень гибко. Например, все те элементы конфигурационной информации, которые указывают «существенные» изменения звукового потока, могут быть размещены в структуре расширения конфигурации до информации об идентификаторе потока, так чтобы изменение этих параметров инициировало переход с одного потока на другой поток. С другой стороны, оставляя некоторые элементы конфигурационной информации не рассмотренными при сравнении информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, с текущей конфигурационной информацией, можно изменять «второстепенные» параметры конфигурации для декодера звукового сигнала, не инициируя «переход», то есть, переключение с одного потока на другой поток, который может быть связан с повторной инициализацией. Формулируя иначе, посредством простой оценки элементов конфигурационной информации, размещенных в структуре расширения конфигурации до информации об идентификаторе потока, и самой информации об идентификаторе потока при сравнении, может избегаться то, что любое изменение «второстепенного» параметра декодирования приводит в действие «переход» Скорее можно, чтобы кодер звукового сигнала размещал такие «второстепенные» элементы конфигурационной информации (которые относятся к второстепенным параметрам декодирования) позже информации об идентификаторе потока в структуре расширения конфигурации. В таком случае кодер звукового сигнала может изменять такие «второстепенные» элементы конфигурационной информации в пределах потока, не приводя в действие «переход» (или повторную инициализацию) каждым из изменений. С другой стороны, те элементы конфигурационной информации, которые остаются неизменными в течение потока, могут быть размещены до информации об идентификаторе потока в структуре расширения конфигурации, и изменение такого «высоко релевантного» элемента конфигурационной информации (который, например, может указывать «существенное» изменение звукового потока) приводило бы к «переходу» (и типично к повторной инициализации декодера звукового сигнала). Поскольку декодер звукового сигнала также может допускать переменное упорядочение элементов конфигурационной информации в структуре расширения конфигурации. кодер звукового сигнала может решать, в зависимости от характеристик сигнала или в зависимости от других критериев, изменение каких элементов конфигурационной информации должно инициировать «переход» или повторную инициализацию декодера звукового сигнала, и изменение каких элементов конфигурационной информации будет возможным в пределах потока без инициации «перехода» или повторной инициализации декодера звукового сигнала.
В предпочтительном варианте осуществления декодер звукового сигнала выполнен с возможностью идентифицировать один или более элементов конфигурационной информации в структуре расширения конфигурации на основе одного или более идентификаторов типа расширения конфигурации, предшествующих соответственным элементам конфигурационной информации. Посредством использования идентификаторов типа расширения конфигурации можно реализовывать переменное упорядочение элементов конфигурационной информации.
В предпочтительном варианте осуществления структура расширения конфигурации является подструктурой данных конфигурационной структуры, при этом, наличие структуры расширения конфигурации указывается битом конфигурационной структуры, который оценивается декодером звукового сигнала. Информация об идентификаторе потока является подэлементом данных структуры расширения конфигурации, при этом, наличие информации об идентификаторе потока указывается идентификатором типа расширения конфигурации, связанным с информацией об идентификаторе потока, который оценивается декодером звукового сигнала. Соответственно, можно гибко решать, когда информация об идентификаторе потока должна добавляться в звуковой поток, и декодер звукового сигнала может без труда определять, когда такая информация об идентификаторе потока имеется в распоряжении. Следовательно, достаточно включать информацию об идентификаторе потока (который требует некоторого количества битов) звукового потока в точках, в которых может быть переключение между разными потоками. Ближайшим кадрам воспроизведения (IPF) в пределах непрерывного звукового потока, в положении, где нет возможности переключиться между разными потоками, не нужно нести информацию об идентификаторе потока, что сберегает скорость передачи битов.
В предпочтительном варианте осуществления декодер звукового сигнала выполнен с возможностью получать и обрабатывать представление звукового кадра (например, ближайший кадр воспроизведения, IPF), который содержит информацию с произвольным доступом (например, «полезную нагрузку расширения подмотки звукового сигнала», также обозначаемую как «AudioPreRoll()»). Информация с произвольным доступом содержит конфигурационную структуру (например, обозначаемую в качестве «Config()») и информацию (например, обозначаемую с помощью «AccessUnit()») для приведения состояния тракта обработки декодера звукового сигнала в требуемое состояние. Декодер звукового сигнала выполнен с возможностью осуществлять плавный переход между звуковой информацией, представленной звуковым кадром, обработанным (декодированным) раньше прибытия представления звукового кадра, которое содержит информацию с произвольным доступом (например, ближайший кадр воспроизведения, IPF), и звуковой информацией, выведенной на основе представления звукового кадра, которое содержит информацию с произвольным доступом, после инициализации декодера звукового сигнала с использованием конфигурационной структуры информации с произвольным доступом и после настройки состояния декодера звукового сигнала с использованием информации для приведения состояния тракта обработки в требуемое состояние, если декодер звукового сигнала находит, что конфигурационная информация в конфигурационной структуре (например, «Config()») информации с произвольным доступом или релевантная часть конфигурационной информации в конфигурационной структуре информации с произвольным доступом отличается от текущей конфигурационной информации. Например, если значение «numPreRollFrames» является нулевым, декодирование кадров подмотки может быть пропущено.
Другими словами, посредством оценки конфигурационной информации в конфигурационной структуре, или ее релевантной части (например, вплоть до и включая информацию об идентификаторе потока), декодер звукового сигнала может распознавать, есть или нет переход между разными потоками, и, в случае перехода между разными потоками, декодер звукового сигнала может пользоваться информацией с произвольным доступом. Информация с произвольным доступом может помогать приводить тракт обработки декодера звукового сигнала в надлежащее состояние (что обычно, в отсутствие перехода, осуществлялось бы одним или более предыдущих кадров), чтобы тем самым избегать артефактов при переходе. Таким образом, эта концепция предоставляет возможность свободного от артефактов переключения между разными потоками, при этом, декодеру звукового сигнала не нужна никакая информация с другого уровня протокола, кроме последовательности представлений кадров.
В предпочтительном варианте осуществления декодер звукового сигнала выполнен с возможностью продолжать декодирование без выполнения инициализации декодера звукового сигнала и без использования информации для приведения состояния тракта обработки декодера звукового сигнала в требуемое состояние (например, полезной нагрузки расширения подмотки), если декодер звукового сигнала декодировал звуковой кадр, непосредственно предшествующий звуковому кадру, представленному представлением звукового кадра, которое содержит информацию с произвольным доступом (например, ближайший кадр воспроизведения), и если декодер звукового сигнала находит, что релевантная часть конфигурационной информации в конфигурационной структуре информации с произвольным доступом идентична текущей конфигурационной информации. Соответственно, если декодер звукового сигнала распознает, посредством сравнения релевантной части конфигурационной информации в конфигурационной структуре с текущей конфигурационной информацией, что есть не переход между разными потоками, но скорее непрерывное воспроизведение одного и того же потока, накладные расходы (например, накладные расходы обработки или вычислительные накладные расходы), которые вызывались бы инициализацией декодера звукового сигнала, избегаются. Таким образом достигается высокий уровень эффективности, а инициализация декодера звукового сигнала выполняется, только когда нужно.
В предпочтительном варианте осуществления декодер звукового сигнала выполнен с возможностью выполнять инициализацию декодера звукового сигнала с использованием конфигурационной структуры информации с произвольным доступом и настраивать состояние декодера звукового сигнала с использованием информации для приведения состояния тракта обработки в требуемое состояние, если декодер звукового сигнала не декодировал звуковой кадр, непосредственно предшествующий звуковому кадру, представленному представлением звукового кадра, которое содержит информацию с произвольным доступом. Другими словами, если есть действующий «произвольный доступ» (при этом декодер звукового сигнала знает, что предыдущий звуковой кадр не декодирован), инициализация также выполняется. Таким образом, информация с произвольным доступом используется в случае реального «произвольного доступа» (то есть, при скачке на определенный кадр) и при переключении между разными потоками (при этом, «реальный» произвольный доступ может сигнализироваться в декодер звукового сигнала, и при этом, переключение между разными потоками может быть распознаваемым в декодере звукового сигнала просто посредством оценки информации об идентификаторе потока).
Следует отметить, что декодер звукового сигнала, как обсужденный в данном документе, по выбору может быть дополнен любым из признаков, функциональных возможностей и подробностей, описанных в материалах настоящей заявки, по отдельности или в комбинации.
Вариант осуществления согласно изобретению предоставляет кодер звукового сигнала для выдачи кодированного представления звукового сигнала. Кодер звукового сигнала выполнен с возможностью кодировать перекрывающиеся или неперекрывающиеся кадры звукового сигнала с использованием параметров кодирования, для получения кодированного представления звукового сигнала. Кодер звукового сигнала выполнен с возможностью выдавать конфигурационную структуру, описывающую параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала). Конфигурационная структура также содержит идентификатор потока.
Соответственно, кодер звукового сигнала выдает представление звукового сигнала, которое вполне пригодно для использования декодером звукового сигнала, упомянутым выше. Например, кодер звукового сигнала может включать в себя разные идентификаторы потока в конфигурационных структурах разных потоков. Соответственно, идентификатором потока может быть информация, которая не описывает конфигурацию декодера (или параметр декодирования), подлежащую использованию декодером звукового сигнала, а скорее идентифицирует поток. Соответственно, кодированное представление звукового сигнала содержит идентификатор потока, и идентификация разных потоков возможна на основе самой кодированной информации звукового сигнала, не требуя никакой информации с других уровней протокола. Например, использование информации, которая выдается на уровне пакета, не является обязательным, поскольку информация об идентификаторе потока является неотъемлемой частью конфигурационной структуры, включенной в представление звукового сигнала. Следовательно, декодеры звукового сигнала, как обсуждено в материалах настоящей заявки, могут распознавать переключение между разными потокам, даже если фактические конфигурационные параметры декодера остаются неизменными.
В предпочтительном варианте осуществления кодер звукового сигнала выполнен с возможностью включать идентификатор потока в структуру расширения конфигурации конфигурационной структуры, при этом, структура расширения конфигурации, содержащая идентификатор потока, может активироваться и деактивироваться кодером звукового сигнала. Соответственно, можно гибко принимать решение, на стороне кодера звукового сигнала, должна быть или нет включена в состав информация об идентификаторе потока. Например, включение информации об идентификаторе потока может избирательно пропускаться для звуковых кадров, применительно к которым кодер звукового сигнала знает, что не будет переключения потоков.
В предпочтительном варианте осуществления кодер звукового сигнала выполнен с возможностью включать в структуру расширения конфигурации идентификатор типа расширения конфигурации, назначающий идентификатор потока, чтобы сигнализировать о наличии идентификатора потока в структуре расширения конфигурации. Соответственно, можно не включать информацию об идентификаторе потока, даже если другая информация о расширении конфигурации присутствует в структуре расширения конфигурации. Другими словами, не нужно, чтобы обязательно каждая структура расширения конфигурации содержала идентификатор потока, что помогает экономить биты.
В предпочтительном варианте осуществления кодер звукового сигнала выполнен с возможностью выдавать по меньшей мере одну конфигурационную структуру, содержащую идентификатор потока, и по меньшей мере одну конфигурационную структуру, не содержащую идентификатор потока. Соответственно, идентификатор потока включается в конфигурационную структуру, только если кодер звукового сигнала распознает, что это необходимо. Например, необходимо, чтобы кодер звукового сигнала просто включал идентификатор потока в конфигурационные структуры кадров, на которых возможно переключение между потоками. При действии таким образом скорость передачи битов может поддерживаться достаточно малой.
В предпочтительном варианте осуществления кодер звукового сигнала выполнен с возможностью переключаться между выдачей первой кодированной звуковой информации, которая представлена первой последовательностью звуковых кадров, и второй кодированной звуковой информации, которая представлена второй последовательностью кадров, при этом, надлежащее воспроизведение первого звукового кадра второй последовательности звуковых кадров после воспроизведения последнего кадра первой последовательности звуковых кадров требует повторной инициализации декодера звукового сигнала. В этом случае кодер звукового сигнала выполнен с возможностью включать в представление звукового кадра, представляющее первый кадр второй последовательности звуковых кадров, конфигурационную структуру, содержащую идентификатор потока, связанный со второй последовательностью звуковых кадров. Идентификатор потока, связанный со второй последовательностью звуковых кадров, выбирается отличным от идентификатора потока, связанного с первой последовательностью кадров. Соответственно, кодер звукового сигнала может выдавать, в пределах конфигурационной структуры, сигнализацию, которая предоставляет декодеру звукового сигнала возможность проводить различие между разными потоками и распознавать, когда должна выполняться повторная инициализация (также обозначаемая в качестве «перехода»).
В предпочтительном варианте осуществления кодер звукового сигнала не выдает никакой другой сигнальной информации, указывающей переключение с первой последовательности информации звуковых кадров на вторую последовательность звуковых кадров, кроме идентификатора потока. Соответственно, скорость передачи битов может поддерживаться достаточно малой. В частности, может избегаться то, что в другие уровни протокола включается сигнализация, иная чем кодированная звуковая информация. Более того, кодер звукового сигнала не знает заранее, когда фактически произойдет переключение с первой последовательности звуковых кадров на вторую последовательность звуковых кадров. Например, декодер звукового сигнала сначала может запрашивать звуковые кадры из первой последовательности звуковых кадров, и когда декодер звукового сигнала распознает какую-то необходимость (например, когда есть возрастание или убывание имеющейся в распоряжении скорости передачи битов), декодер звукового сигнала (или любое другое устройство управления, управляющее выдачей звуковых кадров) может принимать решение, что теперь звуковые кадры из второго потока должны обрабатываться декодером звукового сигнала. Однако, в некоторых случаях, декодер звукового сигнала может не знать сам по себе, когда (или когда точно) происходит переключение между выдачей звуковых кадров из первой последовательности и выдачей звуковых кадров из второй последовательности, и будет способен распознавать, из какой последовательности звуковых кадров происходят принимаемые на данный момент звуковые кадры, просто оценивая идентификатор потока, включенный в конфигурационную структуру.
В предпочтительном варианте осуществления кодер звукового сигнала выполнен с возможностью выдавать первую последовательность звуковых кадров (например, первый поток) и вторую последовательность звуковых кадров (например, второй поток) с использованием разных скоростей передачи битов (при этом, первый поток и второй поток могут представлять собой один и тот же звуковой контент). Более того, кодер звукового сигнала может быть выполнен с возможностью сигнализировать на декодер звукового сигнала идентичную конфигурационную информацию декодера для декодирования первой последовательности звуковых кадров и для декодирования второй последовательности звуковых кадров, за исключением разных идентификаторов битового потока. Другими словами, кодер звукового сигнала может сигнализировать на декодер звукового сигнала, что следует использовать идентичные параметры декодера. но первый поток и второй поток по-прежнему могут иметь разные скорости передачи битов. Например, это может вызываться использованием разного разрешения квантования или разных психоакустических моделей при выдаче первого звукового потока и второго звукового потока. Однако, эти разные разрешения квантования или разные психоакустические модели не оказывают влияния на параметры декодирования, подлежащие использованию декодером звукового сигнала, но оказывают влияние только на фактическую скорость передачи битов. Таким образом, разные идентификаторы битового потока могут быть просто возможностью, чтобы декодер звукового сигнала различал, происходит ли звуковой кадр, подлежащий декодированию, из первого потока или из второго потока, и оценка идентификатора битового потока также предоставляет декодеру звукового сигнала возможность распознавать, когда должен быть выполнен переход (или повторная инициализация).
Соответственно, кодер звукового сигнала может работать в средах, в которых могут происходить изменения имеющейся скорости передачи битов, и накладные расходы сигнализации могут поддерживаться достаточно небольшими.
Более того, следует отметить, что кодер звукового сигнала по выбору может быть дополнен любыми из признаков и функциональных возможностей, и подробностей, описанных в материалах настоящей заявки.
Еще один вариант осуществления согласно изобретению относится к способу выдачи декодированного представления звукового сигнала на основе кодированного представления звукового сигнала. Способ содержит настройку параметров декодирования в зависимости от конфигурационной информации, и способ содержит декодирование одного или более звуковых кадров с использованием текущей конфигурационной информации (например, действующей не данный момент конфигурационной информации). Способ также содержит сравнение конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, с текущей конфигурационной информацией, и способ содержит осуществление перехода (например, содержащего повторную инициализацию декодирования) для выполнения декодирования с использованием конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, в качестве новой конфигурации, если конфигурационная информация в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, или релевантная часть (например, вплоть до и включая идентификатор потока) конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, отлична от текущей конфигурационной информации. Способ также содержит учет информации о идентификаторе потока, включенной в конфигурационную структуру, при сравнении конфигурационной информации, так чтобы различие между идентификатором потока, полученным ранее при декодировании звукового сигнала, и идентификатором потока, представленным информацией об идентификаторе потока в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, побуждало осуществить переход. Этот способ основан на тех же соображениях, что и вышеупомянутый декодер звукового сигнала.
Способ может быть дополнен любыми из признаков и функциональных возможностей и подробностей, описанных в материалах настоящей заявки, по отдельности или взятые в комбинации.
Еще один вариант осуществления согласно изобретению предоставляет способ выдачи кодированного представления звукового сигнала. Способ содержит кодирование перекрывающихся или неперекрывающихся кадров звукового сигнала с использованием параметров кодирования, для получения кодированного представления звукового сигнала. Способ содержит выдачу конфигурационной структуры, описывающей параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала), при этом, конфигурационная структура содержит идентификатор потока. Этот способ основан на тех же соображениях, что и вышеупомянутый кодер звукового сигнала.
Более того, следует отметить, что способы, описанные в данном документе, могут быть дополнены любыми из признаков и функциональных возможностей, описанных выше в отношении соответствующего декодера звукового сигнала и кодера звукового сигнала. Более того, способы могут быть дополнены любыми из признаков, функциональных возможностей и подробностей, описанных в материалах настоящей заявки, по отдельности или в комбинации.
Варианты осуществления согласно изобретению предоставляют звуковой поток. Звуковой поток содержит кодированное представление перекрывающихся или неперекрывающихся кадров звукового сигнала Звуковой поток также содержит конфигурационную структуру, описывающую параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала). Конфигурационная структура содержит информацию об идентификаторе потока, представляющую собой идентификатор потока (например, в виде целочисленного значения).
Звуковой поток основан на вышеупомянутых соображениях. В частности, идентификатор потока, который включен в конфигурационную структуру звукового потока, которая также описывает параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала), предоставляет декодеру звукового сигнала возможность проводить различие между разными потоками, даже если используются идентичные параметры кодирования (или параметры декодирования).
В предпочтительном варианте осуществления информация об идентификаторе потока включена в структуру расширения конфигурации. В этом случае, структура расширения конфигурации предпочтительно является подструктурой данных конфигурационной структуры, при этом, наличие структуры расширения конфигурации указывается битом конфигурационной структуры. Более того, информация об идентификаторе потока является подэлементом данных структуры расширения конфигурации, при этом, наличие информации об идентификаторе потока указывается идентификатором типа расширения конфигурации, связанным с информацией об идентификаторе потока. Использование такого звукового сигнала предоставляет возможность для гибкого включения в состав информации об идентификаторе потока всякий раз, когда это необходимо, тем временем, включение информации об идентификаторе потока может пропускаться в случае, если это не нужно (например, применительно к кадрам, для которых не разрешено переключение между многочисленными потоками). Таким образом, может экономиться скорость передачи битов.
В предпочтительном варианте осуществления идентификатор потока встроен в подструктуру данных представления звукового кадра (и может извлекаться декодером звукового сигнала из такой подструктуры данных). Посредством встраивания идентификатора потока в подструктуру данных представления звукового кадра, может избегаться то, что декодер звукового сигнала должен использовать информацию с более высокого уровня протокола. Скорее, для декодирования звукового кадра, декодер нуждается всего лишь в представлении звукового кадра и может решать, было ли переключение между разными потоками.
В предпочтительном варианте осуществления идентификатор потока просто встроен в подструктуру данных представления звукового кадра, содержащего конфигурационную структуру (и может извлекаться декодером звукового сигнала из подструктуры данных представления звукового кадра, содержащего конфигурационную структуру). Эта идея основана на заключении, что переключение между потоками (без заметных артефактов) может выполняться только на кадрах, содержащих конфигурационную структуру. Соответственно, было обнаружено, что достаточно встраивать идентификатор потока в подструктуру данных представления звукового кадра, содержащего конфигурационную структуру, тем временем, идентификатор потока не включается в представление звукового кадра, не содержащего конфигурационную структуру.
Звуковые потоки, описанные в материалах настоящей заявки, могут быть дополнены любыми признаками, функциональными возможностями и подробностями, описанными в материалах настоящей заявки, по отдельности или в комбинации. В частности, такие признаки, описанные в отношении кодеров звукового сигнала, декодеров звукового сигнала и поставщиков потока, также могут быть применены к звуковому потоку.
Варианты осуществления согласно изобретению предоставляют поставщика звукового потока для выдачи кодированного представления звукового сигнала. Поставщик звукового потока выполнен с возможностью выдавать кодированные варианты перекрывающихся или неперекрывающихся по времени кадров звукового сигала, кодированные с использованием параметров кодирования, в виде части кодированного представления звукового сигнала. Поставщик звукового потока выполнен с возможностью выдавать конфигурационную структуру, описывающую параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала), в виде части кодированного представления звукового сигнала, при этом, конфигурационная структура содержит идентификатор потока. Этот поставщик звукового потока основан на тех же соображениях, что и описанный выше кодер звукового сигнала, а также что и описанный выше декодер звукового сигнала.
В предпочтительном варианте осуществления поставщик звукового потока выполнен с возможностью выдавать кодированное представление звукового сигнала, так чтобы идентификатор потока был включен в структуру расширения конфигурации конфигурационной структуры, при этом, структура расширения конфигурации, содержащая идентификатор потока, может активироваться и деактивироваться одним или более битов в конфигурационной структуре. Данный вариант осуществления основан на тех же идеях, что и обсужденные выше в отношении кодера звукового сигнала, а также в отношении декодера звукового сигнала. Другими словами, поставщик звукового потока выдает звуковой поток, который соответствует звуковому потоку, выдаваемому кодером звукового сигнала (даже если поставщик звукового потока может быть выполнен с возможностью переключаться между выдачей разных потоков, например, поставляемых многочисленными кодерами звукового сигнала, работающими параллельно, или предоставляемых с запоминающего носителя.
В предпочтительном варианте осуществления поставщик звукового потока выполнен с возможностью выдавать кодированное представление звукового сигнала, так чтобы структура расширения конфигурации содержала идентификатор типа расширения конфигурации, назначающий идентификатор потока, чтобы сигнализировать о наличии идентификатора потока в структуре расширения конфигурации. Данный вариант осуществления основан на тех же самых соображениях, упомянутых выше в отношении кодера звукового сигнала и в отношении звукового потока.
В предпочтительном варианте осуществления поставщик звукового потока выполнен с возможностью выдавать кодированное представление звукового сигнала, так чтобы кодированное представление звукового сигнала содержало по меньшей мере одну конфигурационную структуру, содержащую идентификатор потока, и по меньшей мере одну конфигурационную структуру, не содержащую идентификатор потока. Как упомянуто выше, не нужно, чтобы идентификатор потока был включен в каждую конфигурационную структуру. Скорее, может быть гибкая настройка, в какие конфигурационные структуры должен быть включен идентификатор потока. Типично, идентификатор потока будет включен в конфигурационные структуры тех звуковых кадров, для которых имеется переключение между потоками (или применительно к которым переключение между потоками ожидается или разрешено). Говоря иначе, переключение между разными потоками, содержащими идентичные конфигурационные структуры, кроме отличающихся идентификаторов потока, будет выполняться поставщиком потока только на кадрах, в которых присутствует идентификатор потока. Таким образом, декодер звукового сигнала (принимающий кодированное представление звукового сигнала от поставщика звукового потока) имеет возможность распознавать переключение между разными потоками, даже если параметры декодирования (которые сигнализируются конфигурационной структурой) по существу идентичны или даже полностью идентичны.
В предпочтительном варианте осуществления поставщик звукового потока выполнен с возможностью переключаться между выдачей первой части кодированной звуковой информации, которая представлена первой последовательностью звуковых кадров, и второй части кодированной звуковой информации, которая представлена второй последовательностью звуковых кадров, при этом, надлежащее воспроизведение первого звукового кадра второй последовательности звуковых кадров после воспроизведения последнего кадра первой последовательности звуковых кадров требует повторной инициализации декодера звукового сигнала. Поставщик звукового потока выполнен с возможностью выдавать кодированное представление звукового сигнала, так чтобы представление звукового кадра, представляющее первый кадр второй последовательности звуковых кадров, включало в себя конфигурационную структуру, содержащую идентификатор потока, связанный со второй последовательностью звуковых кадров, при этом, идентификатор потока, связанный со второй последовательностью звуковых кадров, отличен от идентификатора потока, связанного с первой последовательностью звуковых кадров. Другими словами, поставщик звукового потока переключается между двумя звуковыми потоками (последовательностями звуковых кадров), имеющими связанные разные идентификаторы потока. Соответственно, декодер звукового сигнала типично будет узнавать идентификатор потока, связанный с первой последовательностью звуковых кадров (например, оценивая конфигурационную структуру, связанную с первой последовательностью звуковых кадров), и, когда декодер звукового сигнала принимает первый кадр второй последовательности звуковых кадров, декодер звукового сигнала будет способен оценить конфигурационную структуру, содержащую идентификатор потока, связанный со второй последовательностью звуковых кадров, и будет способен распознавать переключение с первого потока на второй потока посредством сравнения идентификаторов потока (которые различны для разных потоков). Таким образом, поставщик звукового потока выдает звуковые кадры из первого потока, а затем переключается на выдачу звуковых кадров из второго потока и выдает соответствующую сигнальную информацию, а именно, идентификатор потока, в пределах конфигурационной структуры первого кадра второго звукового потока, который выдается после переключения. Соответственно, никакая добавочная сигнализация не нужна для сигнализации переключения между разными звуковыми потоками.
В предпочтительном варианте осуществления поставщик звукового потока выполнен с возможностью выдавать кодированное представление звукового сигнала, так чтобы кодированное представление звукового сигнала не давало никакой другой сигнальной информации, указывающей переключение с первой последовательности звуковых кадров на вторую последовательность звуковых кадров, кроме идентификатора потока. Соответственно, может достигаться существенная экономия скорости передачи битов. К томе же, сложность протокола поддерживается невысокой, поскольку не нужно включать никакую информацию на разных уровнях протокола и извлекать такую информацию с разных уровней протокола на стороне декодера звукового сигнала.
В предпочтительном варианте осуществления поставщик звукового потока выполнен с возможностью выдавать кодированное представление звукового сигнала, так чтобы первая последовательность звуковых кадров (например, первый поток) и вторая последовательность звуковых кадров (например, второй поток) были закодированы с использованием разной скорости передачи битов. Более того, поставщик звукового потока выполнен с возможностью выдавать кодированное представление звукового сигнала, так чтобы кодированное представление звукового сигнала сигнализировало декодеру звукового сигнала идентичную конфигурационную информацию декодера (или параметры декодера, либо параметры декодирования) для декодирования первой последовательности звуковых кадров и для декодирования второй последовательности звуковых кадров, за исключением разных идентификаторов битового потока. Таким образом, поставщик звукового потока выдает очень похожую конфигурационную информацию для разных потоков (первого потока и второго потока), которая, например, может отличаться только идентификаторами битового потока. В этом сценарии, использование идентификаторов битового потока особенно полезно, поскольку они предоставляют возможность надежно проводить различие между разными битовыми потоками с минимальными накладными расходами на сигнализацию.
В предпочтительном варианте осуществления поставщик звукового потока выполнен с возможностью переключаться между выдачей первой последовательностью звуковых кадров (например, первого потока) и второй последовательности звуковых кадров (например, второго потока) в кодер звукового сигнала, при этом, первая последовательность звуковых кадров и вторая последовательность звуковых кадров закодированы с использование разных скоростей передачи битов. Поставщик звукового потока выполнен с возможностью избирательно переключаться между выдачей первой последовательностью звуковых кадров и выдачей второй последовательности звуковых кадров на звуковом кадре, для которого представление звукового кадра (например, ближайшего кадра воспроизведения, IPF) содержит информацию с произвольным доступом (например, полезную нагрузку расширения подмотки звукового сигнала, «AudioPreRoll()»), тем временем, избегая переключения между последовательностями на звуковых кадрах, которые не содержат информацию с произвольным доступом. Поставщик звукового потока выполнен с возможностью выдавать кодированное представление звукового сигнала, так чтобы идентификатор потока был включен в конфигурационную структуру звукового кадра, который выдается при переключении с первой последовательности звуковых кадров на вторую последовательность звуковых кадров. Например, такой конфигурацией поставщика звукового потока гарантируется, что переключение между выдачей кадров из первой последовательности звуковых кадров и выдачей кадров из второй последовательности звуковых кадров бывает, только когда первый кадр второй последовательности звуковых кадров содержит конфигурационную структуру. имеющую идентификатор потока, а также информацию с произвольным доступом. Следовательно, декодер звукового сигнала может выявлять переключение между разными звуковыми потоками и, таким образом, может распознавать, что информация с произвольным доступом должна быть оценена (тогда как информация с произвольным доступом типично не оценивается, когда переключения между разными звуковыми потоками нет, и когда декодер звукового сигнала предполагает, что воспроизводится непрерывная последовательность звуковых кадров единого потока).
Таким образом, хорошее качество звукового сигнала без артефактов при переключении между разными звуковыми потоками может достигаться благодаря такой концепции.
В дополнительном варианте осуществления поставщик звукового потока выполнен с возможностью получать множество параллельных последовательностей звуковых кадров, кодированных с использованием разных скоростей передачи битов, и поставщик звукового потока выполнен с возможностью переключаться между выдачей кадров из разных параллельных последовательностей в декодер звукового сигнала, при этом, поставщик звукового потока выполнен с возможностью сигнализировать на декодер звукового сигнала, с какой из последовательностей связаны один или более кадров, с использованием идентификатора потока, который включен в конфигурационную структуру первого представления звукового кадра, предусмотренного после переключения. Соответственно, декодер звукового сигнала может распознавать переход между разными потоками с небольшими накладными расходами и без использования информации с других уровней протокола.
Следует отметить, что поставщик звукового потока, обсужденный в материалах настоящей заявки может быть дополнен любым из признаков, функциональных возможностей и подробностей, описанных в материалах настоящей заявки, по отдельности или в комбинации.
Еще один вариант осуществления согласно изобретению предоставляет способ выдачи кодированного представления звукового сигнала. Способ содержит выдачу кодированных вариантов перекрывающихся или неперекрывающихся кадров звукового сигнала, кодированных с использованием параметров кодирования, в виде части кодированного представления звукового сигнала. Способ содержит выдачу конфигурационной структуры, описывающей параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала) в качестве части кодированного представления звукового сигнала, при этом, конфигурационная структура содержит идентификатор потока.
Этот способ основан на тех же соображениях, что и обсужденный выше поставщик потока. Способ может быть дополнен любыми другими из признаков, функциональных возможностей и подробностей, описанных в материалах настоящей заявки, например, в отношении поставщика потока, но также и в отношении кодера звукового сигнала, декодера звукового сигнала или звукового потока.
Еще один вариант осуществления согласно изобретению предоставляет компьютерную программу для выполнения способов, описанных в материалах настоящей заявки.
Краткое описание чертежей
Варианты осуществления согласно настоящему изобретению будут описаны впоследствии, принимая во внимание ссылку на прилагаемые фигуры, на которых:
фиг. 1 показывает принципиальную структурную схему декодера звукового сигнала согласно (простому) варианту осуществления настоящего изобретения;
фиг. 2 показывает принципиальную структурную схему декодера звукового сигнала согласно варианту осуществления настоящего изобретения;
фиг. 3 показывает принципиальную структурную схему кодера звукового сигнала согласно (простому) варианту осуществления настоящего изобретения;
фиг. 4 показывает принципиальную структурную схему поставщика звукового потока согласно (простому) варианту осуществления настоящего изобретения;
фиг. 5 показывает принципиальную структурную схему поставщика звукового потока согласно варианту осуществления настоящего изобретения;
фиг. 6 показывает представление звукового кадра, предоставляющего возможность произвольного доступа и содержащего конфигурационную часть с идентификатором потока в части расширения конфигурации, согласно варианту осуществления настоящего изобретения;
фиг. 7 показывает представление примерного звукового потока согласно варианту осуществления настоящего изобретения;
фиг. 8 показывает представление примерного звукового потока согласно варианту осуществления настоящего изобретения;
фиг. 9 показывает схематическое представление возможных функциональных возможностей декодера у декодера звукового сигнала, как описанный в материалах настоящей заявки;
фиг. 10a показывает представление примерной конфигурационной структуры для использования кодерами звукового сигнала и декодерами звукового сигнала, описанными в материалах настоящей заявки; и
фиг. 10b показывает представление примерной структуры расширения конфигурации для использования кодерами звукового сигнала и декодерами звукового сигнала, описанными в материалах настоящей заявки;
фиг. 10c показывает представление примерного элемента битового потока для идентификатора потока; и
фиг. 10d показывает пример значения «usacConfigExtType», которое по выбору может заменять таблицу 74 в стандарте USAC;
фиг. 11 показывает блок-схему последовательности операций способа выдачи декодированного представления звукового сигнала на основе кодированного представления звукового сигнала согласно варианту осуществления настоящего изобретения;
фиг. 11b показывает блок-схему последовательности операций способа выдачи кодированного представления звукового сигнала согласно варианту осуществления настоящего изобретения; и
фиг. 11с показывает блок-схему последовательности операций способа выдачи кодированного представления звукового сигнала согласно варианту осуществления настоящего изобретения;
Подробное описание вариантов осуществления
1. Звуковой декодер согласно фиг. 1
Фиг. 1 показывает принципиальную структурную схему декодера звукового сигнала согласно (простому) варианту осуществления настоящего изобретения.
Декодер 100 звукового сигнала принимает кодированное представление 110 звукового сигнала и выдает, на его основе, декодированное представление 112 звукового сигнала. Например, кодированное представление 110 звукового сигнала может быть звуковым потоком, содержащим последовательность кадров унифицированного кодирования речи и звуковых сигналов (USAC). Однако, кодированное представление звукового сигнала может принимать разную форму и, например, может быть представлением звукового сигнала, определяемым синтаксисом битового потока по любому из известных стандартов кодирования звукового сигнала. Кодирование представление звукового сигнала, например, может содержать конфигурационную информацию 110, которая, например, может быть включена в конфигурационную структуру, и которая, например, может содержать идентификатор потока. Идентификатор потока, например, может быть включен в конфигурационную информацию или в конфигурационную структуру. Конфигурационная информация или конфигурационная структура, например, может быть связана с одним или более кадров, подлежащих декодированию, и, например, может описывать параметры декодирования, подлежащие использованию декодером звукового сигнала.
Здесь, декодер 100, например, может содержать ядро 130 декодера, которое может быть выполнено с возможностью декодировать один или более звуковых кадров с использование текущей конфигурационной информации (при этом, текущая конфигурационная информация, например, может определять параметры декодирования). Декодер звукового сигнала также выполнен с возможностью настраивать параметры декодирования в зависимости от конфигурационной информации 110a.
Например, декодер звукового сигнала выполнен с возможностью сравнивать конфигурационную информацию в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, с текущей конфигурационной информацией (например, конфигурационной информацией, используемой для декодирования одного или более ранее декодированных кадров). Более того, декодер звукового сигнала может быть выполнен с возможностью осуществлять переход для выполнения декодирования с использованием конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, в качестве новой конфигурационной информации, если конфигурационная информация в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, или релевантная часть конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, отлична от текущей конфигурационной информации. При осуществлении «перехода», декодер звукового сигнала, например, может повторно инициализировать ядро 130 декодера с использованием информации с произвольным доступом, которая предназначена для описания состояния ядра декодера, которое должно использоваться для надлежащего декодирования звукового кадра (или первого звукового кадра) после «перехода».
В частности, декодер звукового сигнала выполнен с возможностью учитывать идентификатор потока, который включен в конфигурационную структуру (то есть в конфигурационную информацию), при сравнении конфигурационной информации (то есть. при сравнении конфигурационной информации в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, с текущей конфигурационной информацией), так чтобы несовпадение между идентификатором потока, полученным ранее декодером звукового сигнала, и идентификатором потока, представленным информацией об идентификаторе потока в конфигурационной структуре, связанной с одним или более кадров, подлежащих декодированию, побуждало осуществлять переход.
Другими словами, декодер звукового сигнала, например, может содержать память для текущей конфигурации (или для текущей конфигурационной информации), которая обозначена с помощью 140. Декодер 100 звукового сигнала также может содержать сравнивающее устройство 150 (или любое другое средство для выполнения сравнения), которое может сравнивать по меньшей мере релевантную часть текущей конфигурационной информации, в том числе, идентификатор потока, с соответствующей частью конфигурационной информации, связанной со следующим (звуковым) кадром, подлежащим декодированию, включающим в себя идентификатор потока. Релевантная часть, например, может быть частью вплоть до, и включая идентификатор потока, при этом, конфигурационная информация, которая находится после идентификатора потока в битовом потоке, представляющем конфигурационную информацию, может игнорироваться в некоторых вариантах осуществления.
Если это сравнение, которое может выполняться сравнивающим устройством 150, указывает несовпадение между текущей конфигурационной информацией (или ее релевантной частью) и конфигурационной информацией, связанной со следующим (звуковым) кадром, подлежащим декодированию (или ее релевантной частью), может распознаваться, что должен быть осуществлен «переход».
Осуществление перехода, например, может содержать повторную инициализацию ядра декодера, даже если параметры декодирования, описанные конфигурационной информацией, связанной со следующим (звуковым) кадром, подлежащим декодированию, идентичны конфигурации декодера (параметрам декодирования), описываемой текущей конфигурационной информацией (при этом, конфигурационная информация, связанная со следующим звуковым кадром, подлежащим декодированию, отличается от текущей конфигурационной информации только тем, что не совпадает идентификатор потока. С другой стороны, если конфигурационная информация, связанная со следующим звуковым кадром, подлежащим декодированию, отличается от текущей конфигурационной информации еще больше, например, определяя иные параметры декодирования, декодер 100 звукового сигнала естественно также будет осуществлять «переход», который типично означает повторную инициализацию ядра 130 декодера и смену параметров декодирования.
Таким образом, декодер 100 звукового сигнала согласно фиг. 1 способен распознавать переход между кадрами разных звуковых потоков, даже если параметры декодирования, подлежащие использованию ядром 130 декодера, остаются неизменными, оценивая идентификатор потока, включенный в конфигурационную структуру звукового кадра, что устраняет необходимость в специализированной сигнализации о переходе между звуковыми потоками и/или об условии для повторной инициализации ядра декодера. Таким образом, декодер 100 может надлежащим образом декодировать звуковые кадры, даже если есть переход с одного потока на другой поток, так как декодер звукового сигнала может распознавать такой переход и обрабатывать его соответствующим образом, например, повторно инициализируя декодер звукового сигнала и реконфигурируя декодер звукового сигнала новыми конфигурационными параметрами (если необходимо).
Следует отметить, что декодер 100 звукового сигнала согласно фиг. 1 по выбору может быть дополнен любым из признаков и функциональных возможностей, а также подробностей, описанных в материалах настоящей заявки, по отдельности или в комбинации.
2. Звуковой декодер согласно фиг. 2
Фиг. 2 показывает принципиальную структурную схему декодера 200 звукового сигнала согласно варианту осуществления настоящего изобретения.
Декодер 200 звукового сигнала выполнен с возможностью принимать кодированное представление 210 звукового сигнала и выдавать на его основе декодированное представление 212 звукового сигнала. Кодированное представление 210 звукового сигнала, например, может быть звуковым потоком, содержащим последовательность кадров унифицированного кодирования речи и звуковых сигналов (USAC). Однако, последовательность звуковых кадров, кодированных с использованием другой концепции кодирования звукового сигнала, также может вводиться в декодер 200 звукового сигнала. Например, декодер звукового сигнала может принимать звуковой кадр 220 первого потока, а впоследствии может (в качестве следующего звукового кадра) принимать звуковой кадр 222 второго потока. Звуковые кадры 220, 222, например, могут выдаваться поставщиком звукового потока. Звуковой кадр 220, например, может содержать кодированное представление 220a звукового сигнала, например, в форме кодированных спектральных значений и кодированных масштабных коэффициентов и/или в форме кодированных спектральных значений и кодированных коэффициентов линейного кодирования с предсказанием (TXC), и/или в виде кодированного сигнала возбуждения и кодированных коэффициентов линейного кодирования с предсказанием. Звуковой кадр 222, например, также может содержать кодированное представление 222a звукового сигнала, которое может быть в такой же форме, что и кодированное представление 220a звукового сигнала, включенного в кадр 220. Однако, в дополнение, кадр 222 также может содержать информацию 222b с произвольным доступом, которая, в свою очередь, может содержать конфигурационную структуру 222c и информацию 222d для приведения состояния тракта обработки (например, ядра декодера) в требуемое состояние. Эта информация 222d, например, может быть обозначаться как «AudioPreRoll».
Декодер 200 звукового сигнала, например, может извлекать из кодированного представления 210 звукового сигнала конфигурационную структуру 222c, которая также может рассматриваться в качестве конфигурационной информации. Конфигурационная структура 222c, например, может содержать информацию или флажковый признак (или бит), указывающий, присутствует ли структура 226 расширения конфигурации в качестве части конфигурационной структуры. Эта информация или флажковый признак, или бит обозначены с помощью 224a.
Структура 226 расширения конфигурации, например, может содержать информацию или флажковый признак, или бит, или идентификатор, указывающий, присутствует ли идентификатор потока. Последние информация, флажковый признак, бит или идентификатор обозначены с помощью 228. Если информация или флажковый признак, или бит, или идентификатор 228 указывает наличие идентификатора потока, также есть идентификатор 230 потока, который типично может быть частью структуры 226 расширения конфигурации.
Более того, структура расширения конфигурации может содержать информацию, есть ли другая информация, подобная соответствующему биту или флажковому признаку, или идентификатору, и также может содержать другую информацию (если применимо).
Декодер 100 звукового сигнала, например, может содержать память 240, которая может хранить текущую конфигурационную информацию (например, конфигурационную информацию, используемую для декодирования предыдущего кадра и извлеченную из конфигурационной структуры предыдущего кадра или предшествующего кадра). Декодер 200 звукового сигнала также содержит сравнивающее устройство или сравнение 250, которое выполнено с возможностью сравнивать конфигурационную информацию, связанную со звуковым кадром, подлежащим декодированию, с текущей конфигурационной информацией, которая хранится в памяти 240. Например, сравнивающее устройство или сравнение 250 может быть выполнено с возможностью сравнивать конфигурационную информацию конфигурационной структуры 222c звукового кадра, подлежащего декодированию, с текущей конфигурационной информацией, хранимой в памяти, вплоть до и включая идентификатор потока. Другими словами, любые элементы информации конфигурационной структуры 222c вплоть до и включая идентификатор потока могут сравниваться с текущей конфигурационной информацией из памяти 240, чтобы определять, идентична ли конфигурационная информация (вплоть до и включая идентификатор потока) в кадре 222 с текущей конфигурационной информацией, извлеченной из одного или более предшествующих звуковых кадров. В ходе этого сравнения, естественно будет проверяться, содержит ли конфигурационная структура 222c фактически структуру 226 расширения конфигурации и идентификатор 230 потока. Если структура 226 расширения конфигурации отсутствует, естественно, она не будет учитываться в ходе сравнения. К тому же, если отсутствует идентификатор 230 потока (например, так как флажковый признак 228 указывает, что он не включен в кадр 222), то он естественно не будет оцениваться при сравнении. К тому же, любая конфигурационная информация, которая находится после идентификатора 230 потока в конфигурационной структуре 222c, типично будет игнорироваться, так как предполагается, что такая конфигурационная информация имеет второстепенную важность, и что изменение той конфигурационной информации, которая находится после идентификатора 230 потока в конфигурационной структуре 222c, не сигнализирует о переключении между разными потоками, но может происходить даже в пределах одиночного потока.
Таким образом, сравнение 250 типично сравнивает конфигурационную информацию, вплоть до и включая идентификатор потока (но предпочтительно пропуская конфигурацию, которая размещена в структуре расширения конфигурации после идентификатора потока) звукового кадра, подлежащего декодированию, с текущей конфигурационной информацией (полученной из ранее декодированного звукового кадра. Соответственно, сравнение 250 выявляет новый поток (или подпоток), если есть несовпадение конфигурационной информации, обнаруженное в ходе сравнения. Соответственно, сравнение используется для управления переходом с первого потока (или подпотока) на второй поток (или подпоток).
Например, осуществление такого перехода может содержать очистку декодирования последнего кадра первого потока, реконфигурацию, инициализацию состояния тракта обработки требуемым состоянием, и выполнение плавного перехода, например, между представлениями во временной области последнего кадра первого потока и первого кадра второго потока.
Декодер 200 звукового сигнала также содержит ядро 216 декодера, которое может быть выполнено с возможностью декодировать кадры первого потока (или первой последовательности кадров) с использованием первой конфигурации (которая может описываться текущей конфигурационной информацией). Более того, ядро 216 декодера может быть выполнено с возможностью декодировать второй поток или вторую последовательность кадров с использованием второй конфигурации (например, с использованием новой конфигурации, которая описана конфигурационной информацией 222c звукового кадра, подлежащего декодированию). Например, повторная инициализация ядра декодера может приводиться в действие, когда сравнение 250 обнаруживает несовпадение между существенной частью конфигурационной информации 222c звукового кадра 222, подлежащего декодированию, и текущей конфигурационной информацией в памяти 240.
Например, повторная инициализация декодера может применяться между декодированием последнего кадра первого потока и первого кадра второго потока. В качестве альтернативы, может использоваться «новый экземпляр» декодера, например, если декодер (по меньшей мере частично) реализован в программном обеспечении. Более того, при переключении с декодирования первого потока на декодирование второго потока («переходе»), состояние тракта обработки ядра декодера может приводиться в требуемое состояние с использованием некоторой побочной информации. Например, контекстное состояние арифметического декодирования может приводиться в требуемое состояние или в требуемое состояние может приводиться содержимое временного дискретного фильтра. Это может выполняться с использованием специализированной информации, которая также обозначена как «подмотка звукового сигнала», APR. Приведение состояния тракта обработки в требуемое состояние важно, поскольку первый кадр второго потока, обрабатываемый (декодируемый) декодером звукового сигнала, может не быть фактическим первым кадром второго звукового потока. Скорее, первый кадр второго звукового потока, обрабатываемый декодером звукового сигнала, может быть некоторым кадром в течение второго звукового потока, когда поставщик звукового потока переключается с выдачи кадров из первого звукового потока на выдачу кадров из второго звукового потока. Таким образом, «первый кадр второго звукового потока», обрабатываемый декодером звукового сигнала, может полагаться на конкретную установку состояний тракта декодирования, которая обычно вызывается декодированием предшествующих кадров второго звукового потока (предшествующего звукового кадра, подлежащего декодированию, который является первым звуковым кадром второго звукового потока, разбираемым декодером звукового сигнала после перехода). Таким образом, при переключении с декодирования кадров звукового сигнала первого звукового потока на декодирование звуковых кадров второго звукового потока, недостающая установка состояний декодера звукового сигала, которая нормально осуществлялась бы посредством декодирования предшествующих кадров второго звукового потока, теперь выполняется, пользуясь информацией о «подмотке звукового сигнала», которая определяет соответствующую установку состояний декодирования звукового сигнала.
Как может быть видно под номером 270 позиции, декодирование последнего кадра первого звукового потока дает декодированную часть 272 (также обозначаемую как «полезная часть»). По выбору, декодирование последнего кадра первого звукового потока может давать даже более длинную декодированную часть, которая частично отбрасывается. Более того, при декодировании первого кадра второго звукового потока, есть выдача «части подмотки» 274, в течение которой состояния декодера инициализируются применительно к соответствующему декодированию первого кадра второго звукового потока. Более того, ядро 260 декодера также выдает полезную часть 276 первого кадра второго звукового потока, разбираемого декодером 200, при этом, полезная часть 276 первого кадра второго звукового потока перекрывается по времени с полезной частью 272 последнего кадра первого потока. Соответственно, плавный переход по выбору может выполняться между концом полезной части 272 последнего кадра первого потока и началом полезной части первого кадра второго потока. Соответственно, может быть получен декодированный выходной сигнал 212, в котором предусмотрен свободный от артефактов переход между последним кадром первого потока (обрабатываемого декодером 200 звукового сигнала) и первым кадром второго потока (обрабатываемого декодером 200 звукового сигнала).
Таким образом, декодер 200 звукового сигнала может распознавать, когда кодер звукового сигнала или поставщик звукового потока переключается с выдачи звукового кадра первого потока на выдачу звуковых кадров второго потока. С этой целью, декодер звукового сигнала оценивает конфигурационную информацию 222c (также обозначаемую как конфигурационная структура) и выполняет сравнение с текущей конфигурационной информацией, хранимой в памяти 240. При распознавании, что звуковой кадр, подлежащий декодированию, принадлежит другому звуковому потоку по сравнению с ранее декодированными звуковыми кадрами, выполняет повторную инициализацию ядра декодера, которая типично включает в себя приведение состояния тракта обработки ядра декодера в требуемое состояние, оценивая некоторую информацию о «подмотке звукового сигнала». Соответственно, декодер звукового сигнала может надлежащим образом справляться с ситуациями, в которых кодер звукового сигнала или поставщик звукового потока выдает звуковой кадр из нового потока (второго звукового потока) без дополнительного уведомления (за исключением предоставления конфигурационной структуры 222c, включающей в себя идентификатор 230 потока).
Следует отметить, что декодер 200 звукового сигнала, описанный в данном документе, может быть дополнен любым из признаков, и функциональных возможностей, и подробностей, описанных в материалах настоящей заявки, по отдельности или в комбинации.
3. Кодер звукового сигнала согласно фиг. 3
Фиг. 3 показывает принципиальную структурную схему кодера звукового сигнала согласно варианту осуществления изобретения.
Кодер 300 звукового сигнала принимает входной звуковой сигнал 310 (например, в форме представления во временной области) и выдает, на его основе, кодированное представление 312 звукового сигнала. Кодер 300 звукового сигнала содержит ядро 320 кодера, которое выполнено с возможностью кодировать перекрывающиеся или неперекрывающиеся кадры входного звукового сигнала 310 с использованием параметров кодирования, для получения кодированного представления звукового сигнала. Декодер 320 звукового сигнала, например, может содержать преобразование из временной области в спектральную область и кодирование представление в спектральной области. Например, обработка может выполняться покадрово.
Более того, кодер звукового сигнала, например, может содержать обеспечение 330 конфигурационной структуры, которое выполнено с возможностью выдавать конфигурационную структуру 332, описывающую параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала). Конфигурационная структура 332, например, может соответствовать конфигурационной структуре 222c. В частности, конфигурационная структура 332 может содержать параметры кодирования (например, в кодированной форме) или, эквивалентно, параметры декодирования (например, в кодированной форме), которые описывают настройку, подлежащую использованию декодером (или ядром декодера) при декодировании кодированного представления 312 звукового сигнала. Пример конфигурационной структуры 332 будет описан ниже. Более того, конфигурационная структура 332 содержит идентификатор потока, который может соответствовать идентификатору 230 потока. Например, идентификатор потока может обозначать звуковой поток (например, непрерывный кусок звукового контента, который кодируется непрерывным образом с использованием конкретной настройки декодера). Например, идентификаторы потока, выдаваемые обеспечением 330 конфигурационной структуры, могут выбираться так, что все те звуковые потоки, между которыми должна быть возможность переключаться без артефактов и без явного уведомления декодера звукового сигнала о переключении, будут нести разные идентификаторы потока. Однако, в некоторых случаях, может быть достаточно, если такие потоки, имеющие связанные идентичные параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала) содержат разные идентификаторы потока. Другими словами, разные идентификаторы потока могут требоваться только для тех потоков, для которых остальные параметры кодирования или параметры декодирования идентичны.
Соответственно, элемент 340 управления кодером, например, может управлять как ядром 320 кодера, так и обеспечением 330 конфигурационной структуры. Элемент 340 управления декодером, например, может принимать решение о параметрах кодирования, подлежащих использованию ядром 320 кодера (которые, например, могут по меньшей мере частично соответствовать параметрам декодирования, подлежащим использованию декодера звукового сигнала) и также может информировать обеспечение 330 конфигурационной структуры о параметрах кодирования/ параметрах декодирования, которые должны быть включены в конфигурационную структуру 332. Соответственно, кодированное представление 312 звукового сигнала содержит кодированный звуковой контент, а также конфигурационную структуру 332. Соответственно, декодер звукового сигнала (например, декодер 100 звукового сигнала или декодер 200 звукового сигнала) может мгновенно распознавать, когда выдается другой звуковой поток, кодированный с использованием разных параметров кодирования (даже если не все параметры кодирования отражены параметрами декодирования, включенными в конфигурационную структуру ).
Что касается этого вопроса, следует отметить, что типично не обязательно сигнализировать все параметры кодирования в декодер звукового сигнала. Например, в декодер звукового сигнала необходимо сигнализировать только те параметры кодирования, которые оказывают влияние на алгоритм декодирования. Параметры кодирования, которые отправляются в декодер звукового сигнала, для того чтобы определять настройку декодера звукового сигнала, также обозначаются как параметры декодирования. С другой стороны, некоторые важные параметры кодирования типично не сигнализируются в декодер звукового сигнала, но скорее неявным образом отражаются в кодированном представлении звукового сигнала. Например, требуемая скорость передачи битов может быть важным параметром кодирования и может решать, насколько грубо кодер звукового сигнала дискретизирует спектральные значения, и/или сколько спектральных значений звуковой сигнал дискретизирует малым значением или даже нулевым значением. Однако, применительно к декодеру звукового сигнала, достаточно увидеть результат кодирования, но ему не нужно знать конкретную стратегию кодера, каким образом поддерживать скорость передачи битов достаточно малой. К тому же, могут быть разные подходы на стороне кодера для достижения достаточно малой скорости передачи битов, в зависимости от типа звукового контента, а также в зависимости от фактической требуемой скорости передачи битов. Эти параметры могут рассматриваться в качестве «параметров кодирования», но они не будут отражены в наборе «параметров декодирования» (и не будут включены в кодированное представление звуковых кадров), при этом, параметры декодирования (и те параметры кодирования, которые включены в кодированное представление звукового сигнала) типично описывают только настройку, которую должен использовать декодер, то есть, как он должен обрабатывать кодированную информацию, выдаваемую кодером.
Соответственно, фактически имело бы место, что параметры декодирования, которые могут быть включены в конфигурационную структуру 332, могут быть идентичными, даже если ядро кодера пользуется разными параметрами кодирования (например, в показателях целевой скорости передачи битов или в показателях параметров, оказывающих влияние на целевую скорость передачи битов, подобных разрешению дискретизации или участвующей психоакустической модели).
Другими словами, кодер звукового сигнала, например, может быть способен кодировать данный звуковой контент с использованием разных параметров кодирования, даже если параметры декодирования, подлежащие использованию декодером (для того чтобы обрабатывать и декодировать кодированное представление звукового контента), могут быть идентичными.
В таких случаях, кодер звукового сигнала может выдавать разные идентификаторы потока в пределах конфигурационной структуры 332, так чтобы декодер звукового сигнала по-прежнему мог различать такие разные кодированные представления звукового контента.
Более того, следует отметить, что кодер 300 звукового сигнала согласно фиг. 3 по выбору может быть дополнен любыми из признаков, функциональных возможностей и подробностей, описанных в материалах настоящей заявки.
4. Поставщик звукового потока согласно фиг. 4
Фиг. 4 показывает принципиальную структурную схему поставщика звукового потока согласно варианту осуществления настоящего изобретения.
Поставщик 400 звукового потока выполнен с возможностью выдавать кодированное представление 412 звукового сигнала. Поставщик звукового потока выполнен с возможностью выдавать кодированные варианты 422 перекрывающихся или неперекрывающихся (по времени) кадров звукового сигала, кодированные с использованием параметров кодирования, в виде части кодированного представления 412 звукового сигнала.
Более того, поставщик звукового потока выполнен с возможностью выдавать конфигурационную структуру 424, описывающую параметры кодирования (или, эквивалентно, параметры декодирования, подлежащие использованию декодером звукового сигнала) в качестве части кодированного представления звукового сигнала, при этом, конфигурационная структура 424 содержит идентификатор потока.
Например, поставщик звукового потока может содержать обеспечение (или поставщика) кодированных вариантов перекрывающихся или не перекрывающихся кадров звукового сигнала. Более того, поставщик звукового потока также может содержать предоставление конфигурационной структуры или поставщика 423 конфигурационной структуры для выдачи конфигурационной структуры 424.
Соответственно, поставщик звукового потока может выдавать, в качестве части кодированного представления 412 звукового сигнала, части других звуковых потоков, например, которые поставщик звукового потока может хранить в памяти или принимать из кодера звукового сигнала. При выдаче части первого звукового потока, а затем переключении на выдачу части второго звукового потока, конфигурационная структура 424 может быть связана с первым звуковым потоком второго звукового потока, который выдается после переключения с первого звукового потока на второй звуковой поток. Конфигурационная структура 424, например, может быть частью соответственных звуковых потоков, которые принимаются поставщиком звукового потока из кодера звукового сигнала, или которые хранятся в памяти поставщика звукового потока. Таким образом, поставщик звукового потока, например, может хранить непрерывную последовательность звуковых кадров первого звукового потока и также хранить непрерывную последовательность звуковых кадров второго звукового потока. По меньше мере некоторые из кадров первого звукового потока и некоторые из кадров второго звукового потока могут иметь связанные соответственные конфигурационные структуры, которые описывают параметры декодирования, подлежащие использованию декодером звукового сигнала. Конфигурационные структуры также могут содержать соответственные идентификаторы потока, например, целые числа, идентифицирующие звуковой поток. Например, поставщик звукового потока может быть выполнен с возможностью выдавать кадры с 1 по n-1 (когда с 1 по n-1 могут быть временными индексами) для первого звукового кадра и кадры с n по n+x (при этом, с n по n+x могут быть временными индексами) второго звукового потока в качестве части кодированного представления 412 звукового сигнала, при этом, кадры с 1 по n-1 второго звукового потока могут не выдаваться в качестве части кодированного представления 412 звукового сигнала, которое ориентировано на конкретный декодер звукового сигнала или конкретную группу декодеров звукового сигнала. Первый звуковой поток и второй звуковой поток, например, могут представлять собой идентичный контент, закодированный с разной скоростью передачи битов. Соответственно, кадры с 1 по n-1 звукового контента представлены, в кодированном представлении 412 звукового сигнала, ориентированном на определенное устройство или группу устройств, первым звуковым потоком, закодированным на первой скорости передачи битов, а кадры с n по n+x звукового контента представлены кадрами с n по n+x второго звукового потока, который закодирован на второй скорости передачи битов, отличной от первой скорости передачи битов.
Например, поставщик 400 звукового сигнала, или некоторый внешний элемент управления, может гарантировать, что первый кадр n второго звукового потока, который включен в кодированное представление 412 звукового сигнала, содержит конфигурационную структуру. Другими словами, например, может быть гарантировано, что переключение между выдачей звуковых кадров из первого звукового потока и выдачей звуковых кадров из второго звукового потока происходит в «соответствующем» кадре, который содержит конфигурационную структуру, и который предпочтительно также содержит некоторую информацию для инициализации декодера звукового сигнала (например, подобную подмотке звукового сигнала).
Таким образом, поставщик звукового потока, например, может выдавать некоторые порции звукового контента, закодированные на первой скорости передачи битов (например, выдавая кадры с 1 по n-1 первого звукового потока) и другие порции звукового потока, закодированные с использованием второй скорости передачи битов (например, выдавая звуковые кадры с n по n+x второго звукового потока). Возможно конфигурационные структуры первого звукового потока и второго звукового потока будут идентичны, за исключением того обстоятельства, что не совпадает идентификатор потока. Это происходит вследствие того обстоятельства, что не нужно, чтобы параметры декодирования, отраженные в конфигурационной структуре 424, обязательно отражали разные параметры декодирования (или все из параметров декодирования), используемые для кодирования первого звукового потока и для кодирования второго звукового потока, так что они фактически являются (всего лишь) идентификатором потока, который также включен в конфигурационную структуру, который предоставляет декодеру звукового сигнала возможность определять, должен ли быть осуществлен «переход» (например, посредством повторной инициализации ядра декодера).
Решение, следует ли выдавать звуковые кадры из первого звукового потока или из второго звукового потока, в некоторых вариантах осуществления может приниматься поставщиком звукового потока (например, на основе знания созданных режимов сети, например, нагрузки на сеть или имеющейся в распоряжении сетевой скорости передачи битов сети между поставщиком звукового потока и декодером звукового сигнала). В качестве альтернативы, однако, декодер звукового сигнала или промежуточное устройство (например, сетевое устройство управления) может принимать решение, какой звуковой поток должен использоваться.
Однако, следует отметить, что декодер звукового сигнала или по меньшей мере ядро декодера звукового сигнала может не информироваться в прямой форме поставщиком звукового потока и/или промежуточной сетью, что произошла смена потока. Другими словами, декодер звукового сигнала не принимает никакой дополнительной информации за исключением конфигурационной структуры 424, сигнализирующей декодеру звукового сигнала, что кадры с n по n+x происходят из второго звукового потока, тем временем, кадры с 1 по n-1 происходят из первого звукового потока.
Таким образом, поставщик звукового потока может гибко выдавать кодированное представление звукового контента в декодер звукового сигнала в форме кодированного представления звукового сигнала. Поставщик звукового потока, например, может гибко переключаться между выдачей кодированных кадров из первого звукового потока и кодированных кадров из второго звукового потока, при этом, переключение между звуковыми потоками сигнализируется изменением идентификатора потока, который включен в конфигурационную структуру 424, которая является частью кодированного представления 412 звукового сигнала.
Здесь следует отметить, что поставщик 400 звукового потока по выбору может быть дополнен любыми из признаков, функциональных возможностей и подробностей, описанных в материалах настоящей заявки.
В нижеследующем, пример функциональных возможностей поставщика 400 звукового потока будет описан, принимая во внимание ссылку на фиг. 5, которая показывает принципиальную структурную схему поставщика звукового потока согласно варианту осуществления изобретения.
Поставщик звукового потока, показанный на фиг. 5, обозначен с помощью 500 и может соответствовать поставщику 400 звукового потока согласно фиг. 4. Поставщик 500 звукового потока выполнен с возможностью выдавать кодированное представление 512 звукового сигнала, которое может соответствовать кодированному представлению 412 звукового сигнала.
В частности, поставщик звукового потока может быть выполнен с возможностью переключаться между выдачей кадров из первого звукового потока и из второго звукового потока. Например, поставщик 500 звукового потока может быть выполнен с возможностью переключаться между выдачей кадров из первого звукового потока и из второго звукового потока только на так называемых «независимых кадров воспроизведения» (также обозначаемых как «IPF»).
Поставщик 500 звукового потока мог сохранить в памяти или мог принимать из кодера звукового сигнала первый звуковой поток 520 и второй звуковой поток 530. Первый звуковой поток, например, может кодироваться на первой скорости передачи битов и может содержать, в конфигурационных структурах (например, ближайших кадрах воспроизведения), первый идентификатор потока. Второй звуковой поток 530 может кодироваться на второй скорости передачи битов и может содержать, в конфигурационных структурах (например, ближайших кадрах воспроизведения), второй идентификатор потока. Однако, первый звуковой поток и второй звуковой поток, например, могут представлять собой некоторый звуковой контент. Однако, первый звуковой поток и второй звуковой поток также могли бы представлять собой разный звуковой контент.
1
2
3
4
Например, первый звуковой поток 520 может содержать независимые кадры воспроизведения в кадрах, указанных n, n, n и n. Например, один или более «обычных» звуковых кадров, которые не являются независимыми кадрами воспроизведения, могут быть размещены между двумя соседними независимыми кадрами воспроизведения. Однако, независимые кадры воспроизведения также могли бы быть смежными в некоторых ситуациях.
1
2
3
4
Подобным образом, второй звуковой поток 530 также содержит независимые кадры воспроизведения в положениях n, n, n и n кадров.
Следует отметить, что такие положения независимых кадров воспроизведения в двух потоках 520, 530 по выбору могут быть идентичными, но также могли бы быть разными. Ради простоты, в данном документе предполагается, что положения кадров независимых кадров воспроизведения идентичны в обоих потоках.
Однако, в принципе, важно только то, что первым кадром после переключения является независимый кадр воспроизведения. Например, при переключении с выдачи звуковых кадров первого потока на выдачу звуковых кадров второго звукового потока, поставщиком 500 звукового потока должно гарантироваться, что первый кадр из части кадров, предоставленных из второго звукового потока, является независимым кадром воспроизведения.
1
1
2
1
2
2
2
2
2
4
Пример будет описан со ссылкой на кодированное представление звукового сигнала, показанное под номером 550 позиции. Как может быть видно, кодированное представление 512 звукового сигнала содержит, в своем начале, часть 552, которая содержит один или более кадров первого звукового потока. Однако, после выдачи звукового кадра, имеющего индекс n-1, из первого звукового потока, поставщик 500 звукового потока может решать (на основе внутреннего решения или на основе некоторой управляющей информации, принятой извне) переключиться на второй звуковой поток. Соответственно, часть 554 звуковых кадров из второго звукового потока предусмотрена в пределах кодированного представления 512 звукового сигнала. Например, кадры, имеющие индексы кадра с n по n-1, из второго звукового потока предусмотрены в части 554 в пределах кодированного представления 512 звукового сигнала. Следует отметить, что первый кадр части 554 является независимым кадром воспроизведения, который находится под индексом n кадра в пределах второго звукового потока 530. Однако, когда кадр, имеющий индекс n-1, выдавался в пределах кодированного представления 512 звукового сигнала, поставщик звукового потока мог вновь принимать решение вернуться к выдаче звуковых кадров из первого звукового потока 520. Соответственно, после (или сразу после) звукового кадра, имеющего индекс n-1 кадра (который основан на втором звуковом потоке 530), кадр, имеющий индекс n кадра, который взят из первого звукового потока 520, может выдаваться в пределах кодированного представления звукового сигнала. Следует отметить, что кадр, имеющий индекс n, также является независимым кадром воспроизведения. Соответственно, из первого звукового потока берется часть, начинающаяся с кадра, имеющего индекс n, и заканчивающаяся на индексе n-1 кадра.
Таким образом, кодированное представление 512 звукового сигнала является сцеплением частей из одного или более кадров, при этом, некоторые положения кадров взяты из первого звукового потока 520, и при этом, некоторые части кадров взяты из второго звукового потока 530. Первый кадр каждой части предпочтительно является независимым кадром воспроизведения, что предпочтительно обеспечивается действием поставщика звукового потока.
Такой независимый кадр воспроизведения предпочтительно содержит конфигурационную структуру с идентификатором потока, при этом, идентификатор потока, например, может содержаться в структуре расширения конфигурации. Например, конфигурационная информация первого потока и второго поток может быть идентичной за исключением идентификатора потока (и, возможно, за исключением конфигурационной информации, которая содержится в структуре расширения конфигурации после идентификатора потока).
Например, независимые кадры воспроизведения могут соответствовать кадру 220, как пояснено выше в отношении декодера 200 звукового сигнала.
Чтоб дополнительно подвести итог, поставщик 500 звукового потока может быть способен получать доступ к множеству звуковых потоков (например, первому звуковому потоку 520 и второму звуковому потоку 530, и, по выбору, дополнительным звуковым потокам) и может выбирать части кадров из этих двух или более звуковых потоков для включения в кодированное представление 512 звукового сигнала, которое пересылается (например, через сеть связи) в кодер звукового сигнала. При выборе частей кадров, подлежащих включению в кодированное представление 512 звукового сигнала, поставщик звукового потока может гарантировать, что первым кадром каждой части является независимый кадр воспроизведения, который содержит достаточную информацию для (свободного от артефактов) воспроизведения при отсутствии наличия декодированных каких бы то ни было предыдущих кадров упомянутого звукового потока. Более того, поставщик звукового потока выдает кодированное представление звукового сигнала таким образом, чтобы переключение между частями звуковых кадров из разных потоков было распознаваемым для декодера звукового сигнала, принимающего кодированное представление 512 звукового сигнала, по несовпадению в рамках релевантной части конфигурационной структуры. Применительно к некоторым переходам, конфигурационные структуры могут отличаться в отношении параметров конфигурации декодера, но, применительно к одному или более других переходов, конфигурационные структуры могут отличаться только идентификатором потока, тогда как остальные параметры конфигурации декодирования могут быть идентичными.
Следовательно, декодеры звукового сигнала могут распознавать переключение между разными звуковыми потоками и выполнять повторную инициализацию («переход») всякий раз, когда уместно.
5. Звуковой кадр согласно фиг. 6
Фиг. 6 показывает представление звукового кадра, предоставляющего возможность для произвольного доступа и содержащего конфигурационную часть с идентификатором потока в части расширения конфигурации.
Например, фиг. 6 показывает пример звукового кадра, который мог бы перенять роль звукового кадра 222, описанного, принимая во внимание ссылку на фиг. 2. Например, звуковой кадр может быть кадром USAC. Звуковой кадр по фиг. 6 может рассматриваться в качестве «точки доступа к потоку» или «промежуточного кадра воспроизведения».
Кадр, например, может придерживаться синтаксических условностей стандарта унифицированного кодирования речи и звуковых сигналов, в том числе, имеющихся в распоряжении поправок, но также мог бы быть адаптирован под синтаксис битового потока других или более новых звуковых стандартов.
Например, кадр 600 USAC может содержать флажковый признак 610 независимости от USAC 610. Более того, кадр USAC может содержать элемент расширения, обозначенный как «USAC ExtElement». Элемент 620 расширения может быть элементом расширения с конфигурационной информацией и с данными подмотки.
По выбору, может быть флажковый признак «USAC ExtElementPresent», который указывает такое наличие дополнительных данных. Например, предпочтительно, чтобы этот флажковый признак имел значение 1 в случае IPF (например, точки доступа к потоку). Однако, этот флажковый признак может рассматриваться в качестве необязательного.
Более того, по выбору может быть флажковый признак «USAC ExtElementUseDefaultLength», который может использоваться для кодирования того, должна ли использоваться длина по умолчанию элемента расширения, или закодирована ли длина элемента расширения. Например, предпочтительно (но не обязательно), чтобы этот флажковый признак имел значение ноль в случае IPF.
Более того, есть данные сегмента элементов расширения, которые также обозначаются как «USACExtElementSegmentData». Эти данные сегментов элемента расширения содержат информацию о подмотке звукового сигнала, также обозначаемую как «AudioPreRoll()» в поправке к стандарту USAC. Подмотка звукового сигнала по выбору содержит информацию «configLen» о длине конфигурации и конфигурационную информацию «Config()», при этом, конфигурационная информация может быть идентична «конфигурационной информации USAC», которая также обозначается как «UsacConfig()». Предпочтительно, но не обязательно, «configLen» должна принимать значение, большее, чем ноль, если присутствует конфигурационная информация. Например, нулевое значение «config Len» может указывать, что конфигурационная информация отсутствует. Конфигурационная информация может содержать некоторую основную конфигурационную информацию, подобную информации о частоте дискретизации и информации о длине кадра SBR, и информации о конфигурации канала и количестве других (необязательных) элементов конфигурации декодера. Другие элементы конфигурации декодера, например, могут содержать один или более, или даже все из элементов конфигурации, описанных в определении синтаксического элемента «UsacDecoderConfig()» в стандарте USAC.
Более того, конфигурационная информация содержит, в качестве подструктуры данных, структуру расширения конфигурации. Структура расширения конфигурации, например, может соблюдать синтаксис синтаксического элемента «UsacConfigExtension()». Например, структура расширения конфигурации может содержать информацию касательно количества расширений конфигурации, «numConfigExtensions». Если есть расширение конфигурации типа ID_Config_Ext_Stream_ID, который типично имеет место в вариантах осуществления согласно изобретению, идентификатор потока представляется элементом «streamId()» синтаксиса битового потока, который, например, может быть представлен 16-битным значением.
Таким образом, конфигурационная структура, которая включена в кадр USAC в элементе расширения, содержит некоторую конфигурационную информацию для установки параметров декодера, а кроме того содержит, в качестве расширения конфигурации, идентификатор потока, который может быть представлен в виде целого числа, например, 16-битного.
Информация о подмотке звукового сигнала по выбору содержит дополнительную информацию, подобную флажковому признаку «applyCrossfade», указывающему, следует ли применять плавный переход (при этом, например, нулевое значение может указывать, что плавный переход применять не следует), информацию о количестве кадров подмотки и информацию касательно кадров подмотки, которая может обозначаться как «auLen» и «AccessUnit()».
Кадр USAC по выбору дополнительно содержит дополнительные элементы расширения и типично содержит один или более из элемента одиночного канала, элемента пары каналов или элемента низкочастотных эффектов.
Таким образом, кадр USAC (например, кадр 222 USAC или один из ближайших кадров воспроизведения, IPF), например, может содержать синтаксический элемент расширения, при этом, упомянутый синтаксический элемент расширения содержит конфигурационную структуру (например, 222c) и информацию об одном или более кадров подмотки, которая, например, может использоваться для приведения состояния тракта обработки в требуемое состояние, и которая, например, может соответствовать информации 222d. Более того, кадр USAC также содержит кодированную звуковую информацию, подобную элементу одиночного канала, элементу пары каналов или элементу низкочастотных эффектов. Таким образом, можно, чтобы декодер звукового сигнала распознавал смену звукового потока на основе идентификатора «streamId()» потока. К тому же, можно, чтобы декодер звукового сигнала выполнял свободное от артефактов декодирование кадра 600 USAC, поскольку параметры декодирования могут устанавливаться на основе конфигурационной информации, включенной в конфигурационную структуру, и поскольку надлежащее состояние декодирования звукового сигнала может устанавливаться на основе информации кадров подмотки. Таким образом, описанный кадр USAC предоставляет возможность переключаться между декодированием кадров из разных звуковых потоков, а также предоставляет возможность для выявления переключения декодером звукового сигнала без дополнительной управляющей информации.
Кадр 600 USAC, описанный в материалах настоящей заявки, может соответствовать звуковому кадру 222 или может соответствовать первому кадру второго звукового потока, включенного в кодированное представление 312 звукового сигнала, или может соответствовать первому кадру второго звукового потока, включенного в кодированное представление 412 сигнала, или может соответствовать ближайшему кадру воспроизведения, IPF, как показанный на фиг. 5.
6. Примерный звуковой поток согласно фиг. 7
Фиг. 7 показывает представление примерного звукового потока, который может выдаваться одним из кодеров звукового сигнала, описанных в материалах настоящей заявки, и который может декодироваться одним из декодеров звукового сигнала, описанных в материалах настоящей заявки. Звуковой поток по фиг. 7 также может выдаваться поставщиком звукового потока, как описанный в материалах настоящей заявки.
Звуковой поток 700, например, содержит, в качестве первого информационного блока, конфигурационную информацию декодера. Конфигурационная информация декодера, например, может содержать элемент «UsacConfig()» битового потока, определенный в стандарте USAC. Конфигурационная информация декодера, например, может указывать идентификатор потока один и может рассматриваться в качестве точки доступа к потоку, которая находится в начале потока.
Звуковой поток также содержит информационный блок 720 данных звукового кадра, который, например, может не содержать никаких данных подмотки, и который также может не содержать никакой информации об идентификаторе потока. Например, информационный блок 720 может быть кадром USAC и, например, может соответствовать элементу «UsacFrame()» синтаксиса битового потока, как определено в стандарте USAC.
Информационные блоки 710 и 730, например, оба могут принадлежать первому звуковому потоку.
Звуковой поток 700 также может содержать информационный блок 730, который, например, может представлять собой первый кадр второго потока, который включен в звуковой поток 700. Информационный блок 730, например, может содержать данные звукового кадра, данные подмотки и информацию об идентификаторе потока. Информация об идентификаторе потока, например, может указывать идентификатор потока два, который отличен от идентификатора потока, включенного в информационный блок 710.
Информационный блок 730, например, может рассматриваться в качестве точки доступа к потоку.
Например, информационный блок 730 может соответствовать синтаксису элемента «UsacFrame()» битового потока, как определено в стандарте USAC. Однако, информационный блок 730 может содержать элемент расширения типа «id_ext_ele_audiopreroll». Этот элемент расширения может содержать конфигурационную структуру, например, согласно синтаксису «UsacConfig» битового потока со структурой расширения конфигурации, например, согласно синтаксису «UsacConfigExtension» битового потока. Структура расширения конфигурации, например, может содержать элемент расширения типа «ID_CONFIG_EXT _STREAM_ID», кодирующий идентификатор потока. Таким образом, элемент информации или информационный блок 730, например, может содержать информацию кадра 600 USAC, как пояснено выше.
Таким образом, информационный блок 730 может представлять собой звуковой кадр второго потока и предоставлять полную конфигурационную информацию для конфигурирования декодера звукового сигнала, чтобы надлежащим образом декодировал звуковой кадр. В частности, конфигурационная информация также содержит информацию о подмотке звукового сигнала для установки состояний декодера звукового сигнала, и конфигурационная информация содержит идентификатор потока, который предоставляет декодеру звукового сигнала возможность распознавать, связан ли информационный блок 730 с другим звуковым потоком по сравнению с информационным блоком 700, 710.
Звуковой поток 700 также содержит информационный блок 740, который следует за информационным блоком 700. Информационный блок 740, например, может быть «обычным» звуковым кадром, который содержит только данные звукового кадра, без данных подмотки, без конфигурационных данных и без идентификатора потока. Например, информационный блок 740 может соблюдать синтаксис «UsacFrame()» битового потока, не пользуясь элементами расширения.
Звуковой поток 700 также может содержать информационный блок 750, который, например, может содержать данные звукового кадра и данные подмотки, но которые могут не содержать идентификатор потока. Информационный блок 750, поэтому, может быть пригодным для использования в качестве точки доступа к потоку, но может не предоставлять возможность выявления переключения между разными потоками.
Например, информационный блок 750 может соответствовать синтаксису «UsacFrame()» битового потока с элементом «ID_ext_ele_audiopreroll» расширения. Однако, в информационном блоке 750, конфигурационная информация, которая является частью элемента расширения подмотки звукового сигнала, не содержит идентификатор потока. Таким образом, информационный блок 750 не может надежно использоваться в качестве первого информационного блока после переключения между разными звуковыми потоками. С другой стороны, информационный блок 730 может надежно использоваться в качестве первого информационного блока после переключения между разными звуковыми потоками, поскольку идентификатор потока, включенный в него, предоставляет возможность для выявления переключения между разными потоками, и поскольку информационный блок также содержит полную информацию для декодирования. в том числе, конфигурационную информацию и информацию подмотки.
Таким образом, звуковой поток 700 может содержать «информационные блоки» или кодированные звуковые кадры, имеющие разное содержание информации. Могут быть «очень простые» звуковые кадры, которые содержат только кодированные звуковые данные, без конфигурационных данных и без данных подмотки. К тому же, могут быть звуковые кадры, которые содержат информацию кодированного звукового сигнала, а также конфигурационную информацию, которая также включает в себя идентификатор потока и информацию о подмотке. Такие кадры предоставляют возможность для идентификации переключения между разными звуковыми потоками для полностью независимого декодирования.
Более того, также по выбору могут быть кадры, которые имеют только частичную информацию, но которые, например, не предоставляют возможность для надежной идентификации переключения между разными потоками, так как нет информации об идентификаторе потока.
Следует отметить, что декодеры звукового сигнала согласно фиг. 1 и 2 типично могут использовать звуковой поток 700, и что кодеры звукового сигнала и поставщики звукового потока согласно фиг. 3 и 4 типично могут выдавать звуковой поток 700, как показано на фиг. 7 (например, в виде кодированного представления 312, 314 звукового сигнала).
7. Звуковой поток согласно фиг. 8
Фиг. 8 показывает представление примерного звукового потока согласно еще одному варианту осуществления настоящего изобретения.
Звуковой поток согласно фиг. 8, в целом обозначен с помощью 800.
Следует отметить, что информационные блоки с 810a по 810e принадлежат первому звуковому потоку. Например, информационный блок 810a может содержать конфигурацию декодера и, например, может соблюдать синтаксис «UsacConfig()» битового потока, как определено в стандарте USAC. Конфигурация декодера, например, может содержать конфигурационную структуру, которая может быть аналогичной конфигурационной структуре 222c. Например, информационный блок 810 может включать в себя расширение идентификатора потока, при этом, идентификатор потока, например, может быть включен в структуру расширения конфигурации конфигурационной структуры.
Информационный блок 810b, например, может содержать данные звукового кадра (например, подобные кодированным спектральным значениям и кодированной информации о масштабных коэффициентах) без данных подмотки и без идентификатора потока. Информационный блок 810d может быть аналогичен или идентичен по структуре с информационным блоком 810b и также представлять собой данные звукового кадра без данных подмотки и без идентификатора потока.
Более того, звуковой поток может содержать часть 820, которая сопровождает часть 810, и которая связана со вторым звуковым потоком, который отличен от первого звукового потока. Часть 820 содержит информационный блок 820a, который содержит данные звукового кадра с данными подмотки, при этом, данные подмотки (например, в пределах конфигурационной структуры) включат в себя расширение идентификатора потока. Таким образом, информационный блок 820a представляет собой звуковой кадр. Если декодер звукового сигнала находит, на основе расширения идентификатора потока, что декодированный ранее звуковой кадр был из другого звукового потока, данные подмотки могут использоваться декодером звукового сигнала для установки декодера звукового сигнала в надлежащее состояние перед декодированием данных звукового кадра в информационном блоке 820a. Таким образом, информационный блок 820a вполне пригоден быть первым блоком информации после переключения между разными звуковыми потоками.
Блок 820 также содержит один, два или более информационных блоков 820b, 820d, которые содержат данные звукового кадра, но которые не содержат данных подмотки, и которые также не содержат идентификатор потока.
Поток 800 данных также содержит часть 830, которая связана с третьим звуковым потоком. Часть 830 содержит информационный блок 830a, который содержит данные звукового кадра с данными подмотки, и который включает в себя расширение идентификатора потока. Часть 830 дополнительно содержит информационный блок 830b, который содержит данные звукового кадра без данных подмотки и без идентификатора потока. Третья часть 830 также содержит информационный блок 830d, который содержит данные звукового кадра с данными подмотки, но без идентификатора потока.
Таким образом, может быть видно, что звуковой поток 800 содержит последующие части, которые происходят из разных звуковых потоков, при этом, на каждом переходе с одного потока на другой, есть информационный блок (например, кодированный звуковой кадр), который содержит данные звукового кадра с данными подмотки и с идентификатором потока. Соответственно, поскольку есть информация об идентификаторе потока, имеющаяся в распоряжении при каждом переключении со звукового потока на другой звуковой поток в пределах кодированного звукового кадра, декодер звукового сигнала может без труда распознавать упомянутый переход, оценивая идентификатор потока (например, в показателях сравнения с хранимым идентификатором потока, полученным ранее).
Следует отметить, что звуковой поток мог бы выдаваться кодером звукового сигнала или поставщиком битового потока, описанными в материалах настоящей заявки, и что звуковой поток 800 мог бы оцениваться декодером звукового сигнала, описанным в материалах настоящей заявки.
8. Функциональные возможности декодера согласно фиг. 9
Фиг. 9 показывает схематическое представление возможных функциональных возможностей декодера у декодера звукового сигнала, как описанный в материалах настоящей заявки.
Например, функциональные возможности, как описано со ссылкой на фиг. 9, могут быть реализованы в кодере 100 звукового сигнала согласно фиг. 1 или в декодере 200 звукового сигнала согласно фиг. 2. Например. функциональные возможности, описанные на фиг. 5, могут использоваться для принятия решения, каким образом продолжать декодирование.
Однако, следует отметить, что функциональные возможности, как описанные, принимая во внимание ссылку на фиг. 9. являются всего лишь примером, и что, например, порядок принятия решения может быть изменен, поскольку общие функциональные возможности остаются прежними. К тому же, можно комбинироваться решения, при условии что общие функциональные возможности не модифицируются.
Предполагается, что функциональные возможности, как пояснено на фиг. 9, обладают сведениями об информации касательно ранее декодированных кадров и оценивают новый звуковой кадр, который может соответствовать синтаксису, описанному в материалах настоящей заявки.
Например, в ходе первой проверки 110, декодер звукового сигнала может проверять, есть ли «произвольный доступ», то есть, операция скачка на точку доступа к потоку. Если распознано, что есть скачок в точку доступа к потоку, при этом, «нормальный» порядок кадров изменен намеренно, функциональные возможности декодера переходят на этап 920 оценки конфигурационных данных точки доступа к потоку, для того чтобы повторно инициализировать декодер. Плавный переход по выбору может выполняться, для того чтобы избежать резкого переключения. Должно быть отмечено, что произвольный доступ означает «перепрыгивание» с первого кадра на второй кадр, при этом, второй кадр имеет индекс кадра, который находится не прямо за индексом кадра декодированного ранее кадра. Другими словами, произвольным доступом является перепрыгивание с кадра, имеющего индекс n кадра, на кадр, имеющий индекс o кадра, при этом, o отлично от n+1.
На этапе 920 выполняется скачок, при этом, целевым объектом скачка является кадр, который является ближайшим кадром воспроизведения, и который содержит информацию, достаточную для повторной инициализации декодера.
Однако, если при проверке 910 обнаружено, что «произвольного доступа» нет, но скорее есть «непрерывное воспроизведение», может выполняться дополнительная проверка 930. Другими словами, проверка 930 выполняется, если декодирование переходит с кадра, имеющего индекс n кадра, на кадр, имеющий индекс n+1 кадра.
В ходе проверки 930 проверяется отлична ли (релевантная) конфигурация, определенная в конфигурационной структуре точки доступа к потоку (или промежуточного кадра воспроизведения), без учета идентификатора потока (например, вплоть до, но не включая идентификатор потока), от текущей конфигурации. Если (релевантная) конфигурация, описанная в конфигурационной структуре точки доступа к потоку отлична от текущей конфигурации (ветвь «да»), декодирование может переходить на этап 940. Однако, должно быть отмечено, что этап 930 естественно может выполняться, только если следующий кадр является точкой доступа к потоку, которая содержит конфигурационную структуру. Если следующий кадр не содержит конфигурационную структуру, этап 930 естественно не может исполняться и отличие от текущей конфигурации найдено быть не может.
Однако, если на этапе 930 обнаружено, что конфигурация в конфигурационной структуре следующего кадра (без учета идентификатора потока) идентична текущей конфигурации, выполняется следующая проверка, которая показана на вершине 950 блок-схемы. На этапе 950 определяется, содержит ли точка доступа к потоку (например, в пределах конфигурационной структуры) идентификатор потока. Например, не обязательно нужно, чтобы идентификатор потока был включен, но обязательно, чтобы только в конфигурационную структуру, если есть структура расширения конфигурации, и если эта структура расширения конфигурации фактически содержит элемент структуры данных, который является идентификатором потока. Если в ходе сравнения 950 обнаружено, что точка доступа к потоку содержит идентификатор потока (ветвь «да»), идентификатор потока, включенный в точку доступа к потоку следующего кадра (кадра, подлежащего декодированию), сравнивается с текущим (хранимым) идентификатором потока. Если обнаружено, что идентификатор потока, включенный в следующий кадр (кадр, подлежащий декодированию), отличен от текущего идентификатора потока (ветвь «да» вершины 960 принятия решения) выполняется скачок на вершину 940 блок-схемы. С другой стороны, если обнаружено, что идентификатор потока следующего кадра идентичен хранимому идентификатору потока, дополнительная конфигурационная информация (например, расширения конфигурации), которая следует в структуре расширения конфигурации после идентификатора потока, остается неучтенной применительно к определению, следует ли выполнять «переход» ли начальную инициализацию (ветвь «нет» по этапу 960).
Однако, если в ходе проверки 950 обнаружено, что точка доступа к потоку (следующему кадру, подлежащему декодированию) не содержит идентификатор потока, или если обнаружено, что идентификатор потока следующего кадра, подлежащего декодированию, идентичен хранимому идентификатору потока, процедура продолжается на этапе 970.
Более того, следует отметить, что этап 940 содержит плавное снижение уровня громкости между звуковым кадром, использующим старую конфигурацию, и звуковым кадром, использующим новую конфигурацию. Что касается декодирования звукового кадра, использующего новую конфигурацию, есть повторная инициализация декодера звукового сигнала (которая может содержать инициализацию нового экземпляра декодера). К тому же, старый экземпляр декодера «очищается» и выполняется плавный переход.
С другой стороны, этап 970 содержит декодирование следующего кадра без повторной инициализации декодера, при этом, информация подмотки, которая может быть включена в следующий кадр, отбрасывается (остается неучтенной).
Таким образом, есть разные возможности, которые могут исполняться всякий раз, когда декодер звукового сигнала прибывает на «промежуточный кадр воспроизведения», который также может рассматриваться в качестве «точки доступа к потоку». К тому же, следует отметить, что никакая специальная обработка типично не выполняется в кадрах, которые не являются «промежуточными кадрами воспроизведения» или «точками доступа к потоку», так как такие кадры не предоставляют возможности для повторной инициализации декодера звукового сигнала, поскольку нет конфигурационной структуры и нет информации подмотки, имеющихся в распоряжении в таких звуковых кадрах.
Когда декодер знает, что есть «скачок», то есть, отклонение от нормальной очередности кадров, естественно бывает повторная инициализация декодера звукового сигнала, которая типично использует информацию подмотки, а также новую конфигурационную структуру (даже при скачке в пределах одного и того же потока).
Если такого «скачка» нет, бывают разные случаи:
Если декодер звукового сигала обнаруживает, что конфигурационная информация следующего потока, подлежащего декодированию, вплоть до и включая идентификатор конфигурации, отлична от хранимой информации, также будет происходить повторная инициализация декодера звукового сигнала. С другой стороны, если декодер звукового сигнала обнаруживает, что конфигурационная информация следующего кадра, подлежащего декодированию, вплоть до и включая идентификатор потока (если присутствует), идентична хранимой информации, полученной из ранее декодированного кадра, повторная инициализация выполняться не будет. В любом случае, конфигурационная информация, которая размещена после идентификатора потока в конфигурационной структуре, будет игнорироваться декодером звукового сигнала при принятии решения в отношении того, следует или нет выполнять повторную инициализацию. К тому же, если декодер звукового сигнала обнаруживает, что нет идентификатора потока в пределах конфигурационной структуры, он естественно не будет учитывать идентификатор потока при сравнении с хранимой информацией.
Однако, для выполнения оценки эффективным с вычислительной точки зрения образом, декодер сначала может сверять конфигурационную информацию, предшествующую идентификатору потока, с хранимой конфигурационной информацией, затем проверять, есть ли идентификатор потока, включенный в конфигурационную структуру, а затем переходить к сравнению идентификатора потока (если присутствует в конфигурационной структуре) с хранимым идентификатором потока. Как только декодер звукового сигнала находит различие, он может принимать решение касательно повторной инициализации. С другой стороны, если декодер звукового сигнала не находит различия между конфигурационной информацией, вплоть до и включая идентификатор потока, он может принимать решение пропустить повторную инициализацию.
Соответственно, незначительные изменения конфигурации, которые не будут приводить к повторной инициализации, могут сигнализироваться после идентификатора потока в структуре расширения конфигурации кодером звукового сигнала, и декодер звукового сигнала в этом случае может продолжать декодировать с всего лишь слегка измененной конфигурацией (которая не требует повторной инициализации).
Таким образом, функциональные возможности декодера, как описано, принимая во внимание ссылку на фиг. 9, могут использоваться в любом из декодеров звукового сигнала, описанных в материалах настоящей заявки, но могут рассматриваться в качестве необязательных.
9. Синтаксис битового потока согласно фиг. 10a, 10b, 10c и 10d
В нижеследующем, будет описан синтаксис битового потока. В частности, будет описан синтаксис конфигурационной структуры. В качестве примера, будет описан синтаксис конфигурационной структуры «UsacConfig()», которая может замещать конфигурационную структуру 222c или конфигурационную структуру 332, или конфигурационную структуру 424 или конфигурационную структуру «Config()», показанную на фиг. 6, или конфигурационную структуру «UsacConfig()», как показанная на фиг. 7, или конфигурационную структуру «Config», показанную на фиг. 8.
Фиг. 10 показывает представление конфигурационной структуры «UsacConfig()». Как может быть видно, упомянутая конфигурационная структура, например, может содержать информацию 1020a об индексе частоты дискретизации и, по выбору, информацию 1020b о частоте дискретизации. Информация 1020a об индексе частоты дискретизации (возможно в комбинации с информацией 1020b о частоте дискретизации), например, описывает частоту дискретизации, используемую кодером, а потому, также описывает частоту дискретизации, подлежащую использованию декодером звукового сигнала.
Более того, конфигурационная структура также может содержать информацию об индексе длины кадра для репликации полос спектра (SBR). Например, индекс может определять некоторое количество параметров для репликации полос пропускания спектра, например, как определено в стандарте USAC.
Более того, конфигурационная структура также может содержать индекс 1024a конфигурации канала, который, например, может определять конфигурацию канала. Информация об индексе конфигурации канала, например, может определять количество каналов и связанное отображение громкоговорителей. Например, информация об индексе конфигурации канала может иметь смысл, как определено в стандарте USAC. Например, если информация об индексе конфигурации канала равна нулю, подробности касательно конфигурации канала могут быть включены в структуру 1024b данных «UsacChannelConfig()».
Более того, конфигурационная структура может содержать конфигурационную информацию 1026a декодера, которая, например, может описывать (или перечислять) элементы информации, которые присутствуют в структуре данных звукового кадра. Например конфигурационная информация декодера может содержать один или более элементов, которые описаны в стандарте USAC.
Более того, конфигурационная структура 1010 также содержит флажковый признак (например, названный «UsacConfigExtensionPresent»), который указывает наличие структуры расширения конфигурации (например, структуры 226 расширения конфигурации). Конфигурационная структура 1010 также содержит структуру расширения конфигурации, которая, например, обозначена с помощью «UsacConfigExtension()» 1028a. Структура расширения конфигурации предпочтительно является частью конфигурационной структуры 1010 и, например, может быть представлена последовательностью битов, которая следует непосредственно за битами, представляющими собой другие элементы конфигурации конфигурационной структуры 1010. Структура расширения конфигурации, например, может нести информацию об идентификаторе потока, как будет описано ниже.
В нижеследующем, возможный синтаксис структуры расширения конфигурации будет описан с использованием ссылки на фиг. 10b, при этом, структура расширения конфигурации обозначена во всей своей полноте с помощью 1030 и соответствует структуре 1028a расширения конфигурации.
Структура расширения конфигурации (также обозначаемая как «UsacConfigExtension()»), например, может кодировать количество расширений конфигурации в элементе 1040a синтаксиса. Следует отметить, что порядок разных элементов информации о расширении конфигурации может выбираться произвольно, поскольку есть информация 1042a о типе расширения конфигурации и информация 1044a о длине расширения конфигурации применительно к каждому элементу расширения конфигурации. Соответственно, структура 1030 расширения конфигурации может нести множество элементов расширения конфигурации (или элементов информации о расширении конфигурации) в переменном порядке, при этом, кодер звукового сигнала может определять, какой элемент расширения конфигурации кодируется первым, а какой элемент расширения конфигурации кодируется позже. Например, применительно к каждому элементу конфигурационной информации, сначала может быть идентификатор 1042a типа расширения конфигурации, сопровождаемый информацией 1044 о длине расширения конфигурации, а затем, может быть «полезная нагрузка» соответственного элемента информации о расширении конфигурации. Кодирование полезной нагрузки соответственного элемента информации о расширении конфигурации, например, может меняться в зависимости от типа элемента информации о расширении конфигурации, указанного информацией о типе расширения конфигурации, а длина полезной нагрузки соответственного элемента информации о расширении конфигурации может определяться значением соответственной информации 1044a о длине расширения конфигурации. Например, в случае если элемент информации о расширении конфигурации является информацией заполнения, может быть один или более байтов заполнения. С другой стороны, если элемент информации о расширении конфигурации является информацией о громкости расширения конфигурации, может быть структура данных, содержащая информацию о громкости (например, обозначаемая как «loudnessInfoSet()»).
Более того, если элемент информации о расширении конфигурации является идентификатором потока, может быть числовое представление идентификатора потока, которое обозначено как «streamId()». Примеры синтаксиса для разных типов элементов информации о расширении конфигурации показаны под номерами 1046a,1048a и 1050a позиций.
Чтобы сделать вывод, синтаксис структуры расширения конфигурации таков, что порядок разных элементов конфигурационной информации мог меняться. Например, элемент информации о расширении конфигурации идентификатора потока может размещаться до или после других элементов информации о расширении конфигурации кодером звукового сигнала. Соответственно, кодер звукового сигнала может управлять, посредством размещения элемента информации о расширении конфигурации идентификатора потока в пределах структуры расширения конфигурации, какие другие элементы информации структуры расширения конфигурации должны учитываться при сравнении между конфигурацией, указанной текущей конфигурационной структурой, и конфигурационной информацией, полученной ранее декодером звукового сигнала. Типично, элементы конфигурационной информации, предшествующие структуре расширения конфигурации, и любые элементы информации о расширении конфигурации вплоть до и включая информацию об идентификаторе потока будут учитываться в ходе такого сравнения, тем временем, любые элементы информации о расширении конфигурации, которые кодируются в битовом потоке после элемента информации о расширении конфигурации идентификатора потока, будут игнорироваться при сравнении.
Таким образом, конфигурационная структура, как поясненная в отношении фиг. 10a и 10b, вполне пригодна для концепции согласно настоящему изобретению.
Фиг. 10 показывает синтаксис элемента информации (расширения конфигурации) идентификатора потока, который также сигнализируется с помощью «StreamId()» (или с помощью «streamId()»). Как может быть видно, идентификатор потока может быть представлен 16-битным двоичным представлением чисел. Соответственно, более чем 65000 разных значений может быть закодировано в качестве идентификатора потока, чего типично достаточно для распознавания любых переходов между разными звуковыми потоками.
Фиг. 10d показывает пример выделения идентификаторов типа для разных элементов информации о расширении конфигурации. Например, элемент информации о расширении конфигурации о типе «идентификатор потока» может быть представлен значением семь информации 1042a о типе расширения конфигурации. Другие типы элементов информации о расширении конфигурации, например, могут быть представлены другими значениями идентификатора 1042a типа расширения конфигурации.
Таким образом, фиг. с 10a по 10d описывают возможный синтаксис (или расширение синтаксиса) конфигурационной структуры, которая может использоваться кодером звукового сигнала для кодирования информации об идентификаторе потока, которая может использоваться декодером звукового сигнала для извлечения информации об идентификаторе потока.
Однако, должно быть отмечено, что конфигурационная структура, описанная здесь, должна рассматриваться только в качестве примера и может модифицироваться в широком диапазоне. Например, информация об индексе частоты дискретизации и/или информация о частоте дискретизации, и/или информация об индексе длины кадра репликации полос пропускания спектра, и/или информация об индексе конфигурации канала могли бы кодироваться по-разному. К тому же, по выбору, один или более из вышеупомянутых элементов информации могли бы быть опущены. Более того, также мог бы быть опущен элемент информации UsacDecoderConfig.
Более того, кодирование количества расширений конфигурации, типов расширения конфигурации и длины расширения конфигурации могло бы быть модифицировано. К тому же, разные элементы информации о расширении конфигурации также должны рассматриваться в качестве необязательных и, возможно, также могли бы кодироваться по-разному.
Более того, идентификатор потока также мог бы кодироваться большим или меньшим количеством битов, при этом, могли бы использоваться разные типы числового представления. Более того, выделение номеров идентификатора под разные типы расширения конфигурации должны рассматриваться в качестве предпочтительного примера, а не в качестве неотъемлемого признака.
9. Выводы
В нижеследующем будут описаны некоторые аспекты согласно изобретению, которые могут использоваться по отдельности, или, когда взяты в комбинации с вариантами осуществления. описанными в материалах настоящей заявки.
В частности, в материалах настоящей заявки будет описано решение согласно настоящему изобретению.
Следует отметить, что аспекты вариантов осуществления согласно настоящему изобретению описаны прилагаемой формулой изобретения.
Однако, варианты осуществления в качестве определенных формулой изобретения по выбору могут быть дополнены любым из признаков, описанных в материалах настоящей заявки, по отдельности или в комбинации. К тому же, следует отметить, что любые определения в круглых скобках «()» или «[]» должны рассматриваться в качестве необязательных, в частности, когда используются в формуле изобретения.
Тем не менее, следует отметить, что признаки изобретения, описанного в нижеследующем, также могут использоваться отдельно от признаков формулы изобретения.
Более того, признаки и функциональные возможности, описанные в формуле изобретения и описанные в нижеследующем, по выбору могут комбинироваться с признаками и функциональными возможностями, описанными в разделе, описывающем задачи, лежащие в основе аспектов изобретения, возможные сценарии использования для вариантов осуществления и традиционные подходы. В частности, признаки и функциональные возможности, описанные в материалах настоящей заявки, могут использоваться в декодере звукового сигнала USAC согласно ISO/IEC 23003-3: 2012, включая поправку 3, подпункт «адаптация скорости передачи битов» (например, который стандартизован на дату подачи приоритетной заявки настоящего изобретения, или стандартизован на дату подачи настоящего изобретения, но также, по выбору, включая дальнейшие будущие модификации).
Согласно аспекту изобретения, предложено ввести (например, в синтаксис битового потока USAC) новое расширение конфигурации для USAC с usacConfigExtType==ID_CONFIG_EXT_STREAM_ID со связанной структурой битового потока, содержащей в себе простое универсальное битовое поле 16-битного идентификатора. Этот идентификатор будет разным (например, может выбираться разным посредством кодера звукового сигнала или поставщиком звукового потока) между любыми двумя конфигурационными структурами применительно ко всем потокам в пределах набора потоков, которые предназначены для бесшовного переключения между ними. Одним из примеров для такого набора потоков является так называемый «набор адаптации» в случае использования доставки MPEG-DASH.
Предложенное расширение конфигурации уникального идентификатора потока, например, будет гарантировать, что, в момент сравнения текущей (или текущей конфигурационной) структуры с новой конфигурационной структурой (например, на стороне кодера звукового сигнала или на стороне декодера звукового сигнала), новая конфигурация (а отсюда, новый поток) правильно идентифицируется, и декодер будет действовать, как ожидается и намечено, например, декодер будет проводить надлежащую очистку декодера, подмотку блоков доступа и выполнение плавного перехода (если применимы).
Нижеследующее является предлагаемым текстом (модификацией) технических условий (например, MPEG-D USAC (ISO/IEC 23003-3+AMD.1+AMD-2+AMD.3), которые стандартизованы на дату подачи настоящей заявки, или которые стандартизованы на дату подачи приоритетной заявки, и, по выбору, содержит любые будущие модификации).
Отрывки текста, упомянутые в последующих описанных аспектах изобретения, которые могут использоваться по отдельности или в комбинации с декодером звукового сигнала USAC или в другом основанном на кадрах декодере звукового сигнала.
Расширение конфигурации, как показанное в нижеследующей таблице 15, может использоваться кодером звукового сигнала, для того чтобы выдавать звуковой битовый поток, и который может использоваться декодером звукового сигнала, для того чтобы извлекать информацию из звукового битового потока.
При использовании кодирования и декодирования звукового сигнала согласно стандарту USAC, упомянутому выше, таблица 15 в разделе 5.2 должна быть заменена следующим обновленным вариантом таблицы 15:
Таблица 15 - Синтаксис UsacConfigExtension()
Синтаксис
Количество битов
Мнемоника
UsacConfigExtension()
{
numConfigExtensions=escapedValue(2,4,8)+1;
Кодирование может отличаться
for (confExtIdx=0; confExtIdx<numConfigExtensions; confExtIdx++) {
usacConfigExtType[confExtIdx]=escapedValue(4,8,16);
Кодирование может отличаться
usacConfigExtLength[confExtIdx]=escapedValue(4,8,16);
Кодирование может отличаться
switch (usacConfigExtType[confExtIdx]) {
case ID_CONFIG_EXT_FILL:
По выбору
while (usacConfigExtLength[confExtIdx]--) {
fill_byte[i]; /* должнен иметь значение '10100101' */
8
Uimsbf
}
break;
case ID_CONFIG_EXT_LOUDNESS_INFO:
По выбору
loudnessInfoSet()
break;
case ID_CONFIG_EXT_STREAM_ID:
идея
streamId();
согласно
break;
изобретению
default:
while (usacConfigExtLength[confExtIdx]--) {
По выбору
tmp;
8
Uimsbf
}
break;
}
}
}
К тому же, при рассмотрении кодирования звукового сигнала или декодирования звукового сигнала согласно стандарту USAC, в конце раздела 5.2 стандарта USAC, должна быть добавлена новая таблица AMD.01, как изложенная ниже (в которой подробности кодирования, количество битов являются необязательными):
Таблица AMD.01 - Синтаксис StreamId()
Синтаксис
Количество битов
Мнемоника
StreamId()
{
streamIdentifier
16
Uimsbf
}
Однако, в упомянутых таблицах, подробности кодирования и, например, количество битов, должны рассматриваться в качестве необязательных.
Более того, при рассмотрении кодирования или декодирования согласно стандарту USAC, следующий подпункт 6.1.15 должен быть добавлен после «6.1.14 UsacConfigExtension()»:
6.1.15 Уникальный идентификатор потока (Stream ID)
6.1.15.1 Термины, определения и семантика
streamIdentifier
streamIdentifier
- двухбайтный беззнаковый целочисленный идентификатор потока (stream ID), который будет уникально идентифицировать конфигурацию потока в пределах набора связанных потоков, которые предназначены для бесшовного переключения между ними.  может принимать значения от 0 до 65535. (подробности кодирования необязательны)
ПРИМЕР
Когда являются частью набора адаптации MPEG-DASH, как определено в ISO/IEC 23009, все идентификаторы потока у потоков в таком наборе адаптации DASH будут попарно различны.
6.1.15.2 Описание идентификатора потока
Расширения конфигурации типа ID_CONFIG_EXT_STREAM_ID предусматривают контейнер для сигнализации идентификатора потока (краткое обозначение: «ID потока»). Расширение конфигурации идентификатора потока предоставляет возможность прикрепления уникального целого числа к конфигурационной структуре, так чтобы конфигурации звукового битового потока двух потоков могли различаться, даже если оставшаяся часть конфигурационной структуры (побитно) идентична.
usacConfigExtLength расширения конфигурации типа ID_CONFIG_EXT_STREAM_ID будет иметь значение 2 (два). (по выбору, также может быть другим)
Любой заданный звуковой битовый поток не будет иметь больше одного расширения конфигурации типа ID_CONFIG_EXT_STREAM_ID. (необязательный)
Если стандартно работающий экземпляр декодера принимает новую конфигурационную структуру, например, посредством Config() в полезной нагрузке расширения ID_EXT_ELE_AUDIOPREROLL, он будет сравнивать эту новую конфигурационную структуру с действующей на данный момент конфигурацией (например, смотрите 7.18.3.3). Такое сравнение, например, может проводиться посредством побитового сравнения соответствующих конфигурационных структур.
Если конфигурационные структуры содержат в себе расширения конфигурации, то, например, все расширения конфигурации вплоть до, и включая расширения конфигурации ID_CONFIG_EXT_STREAM_ID, будут включены в сравнение. Все расширения конфигурации, следующие за расширением конфигурации типа ID_CONFIG_EXT_STREAM_ID, например, не будут учитываться во время сравнения. (необязательный)
Отметим, что вышеприведенное правило предоставляет кодеру возможность управлять, тем, будут или нет конкретные расширения конфигурации вызывать реконфигурацию декодера.
Должно быть отмечено, что определения и подробности из этого отрывка текста, подлежащего добавлению в стандарт, по выбору могут использоваться в вариантах осуществления согласно настоящему изобретению, как по отдельности, так и взятые в комбинации, безотносительно к тому, какие.
При рассмотрении кодирования или декодирования USAC, таблица 74 в пункте 6 должна быть заменена таблицей, как показанная на фиг. 10d.
Таким образом, были описаны некоторые возможные изменения, которые могут быть введены в стандарт USAC. Однако, концепция, как описанная в данном документе, также может использоваться в связи с другими стандартами кодирования звукового сигнала. Другими словами, также было бы можно ввести в некоторую конфигурационную структуру какого-нибудь другого стандарта кодирования звукового сигнала, информацию об идентификаторе потока, как описано в данном документе.
Признаки, описанные в данном документе в отношении информации об идентификаторе потока, также могли бы применяться, когда взяты в комбинации с другими стандартами кодирования. В этом случае, терминология должна быть адаптирована под терминологию соответственного стандарта кодирования звукового сигнала.
В нижеследующем будут описаны некоторые необязательные результаты и преимущества или признаки согласно настоящему изобретению.
Представленное расширение конфигурации предусматривает без труда реализуемое решение для проведения различия между конфигурационными структурами, которые в других отношениях побитно идентичны. Полученная различимость между конфигурациями, например, дает возможность правильных и намеченных изначально функциональных возможностей динамически адаптивной потоковой передачи данных с бесшовными переходами между потоками.
В нижеследующем будут описаны некоторые альтернативные решения.
Например, проблема, упомянутая выше, могла бы избегаться, если кодер гарантирует, что все потоки в пределах набора потоков имеют разные конфигурации, то есть, они пользуются разными средствами кодирования или используют разную параметризацию. Если различия скорости передачи битов отдельных потоков достаточно велики, это обычно дает в результате конфигурации, которые попарно раздельны. Если требуется мелкая сетка скоростей передачи битов, которая часто имеет место, (традиционное) решение в некоторых случаях не будет работать.
В противоположность, посредством использования идентификатора потока, который включен в часть конфигурации (также обозначаемую как конфигурационная структура), чтобы различать разные потоки, потоки также могут различаться, если оставшаяся часть конфигурационной структуры идентична (что иногда имеет место, если аналогичные скорости передачи битов).
В качестве альтернативы (например, в качестве альтернативы использованию идентификатора потока), можно было бы создать соответствующее не оговоренное техническими условиями расширение конфигурации, которое меняется для каждого потока, но как-то иначе структурировано. Результат был бы тем же самым. Хотя правильные функциональные возможности не могут быть гарантированы, так как не может быть гарантировано, что все реализации декодера оценивают это не оговоренное техническими условиями расширение конфигурации, когда конфигурации сравниваются в описанном выше сценарии.
В противоположность, варианты осуществления согласно изобретению порождают концепцию, в которой идентификатор потока ясно задан в конфигурационной структуре и предоставляет возможность для вполне определенного различения разных потоков.
Следует отметить, что реализация обладающей признаками изобретения концепции может быть распознана по анализу конфигурационной структуры потоков USAC. Более того, реализации обладающей признаками концепции могут быть распознаны по проверке наличия расширений конфигурации, как описано выше.
В нижеследующем, будут описаны некоторые возможные области применения для аспектов согласно изобретению.
Варианты осуществления согласно изобретению предусматривают возможность различения идентичных в других отношениях структур данных.
Дополнительные варианты осуществления согласно изобретению предусматривают возможность различения идентичных конфигурационных структур аудиокодека.
Варианты осуществления согласно изобретению предоставляют возможность для бесшовной динамической адаптивной потоковой передачи данных звукового сигнала по любой сети передачи данных.
В нижеследующем, будут описаны некоторые дополнительные аспекты, которые должны рассматриваться как необязательные.
Например, в нижеследующем будет описан режим работы кодера звукового сигнала/поставщика звукового потока. В нижеследующем, будут описаны некоторые необязательные подробности касательно кодера звукового сигнала (который также может принимать форму поставщика звукового потока).
Кодер звукового сигнала не формирует один (единственный) поток, который внезапно меняет свою конфигурацию, но кодер или инфраструктура кодера, содержащая многочисленные экземпляры кодера, формирует многочисленные потоки параллельно, которые соответственно содержат, в синхронизированных положениях (в моменты времени) в пределах потоков, IPF («ближайшие кадры воспроизведения»).
Инфраструктура декодера в таком случае выбирает, согласно конкретным и/или предопределенным критериям, например, подобным качеству соединения сети Интернет, один из потоков, формируемых параллельно, и «запрашивает» (или требует), чтобы сервер стороны кодера отправлял в точности тот поток, а затем, пересылает поток в декодер. Все добавочные кодированные потоки просто игнорируются. Смена между потоками в таком случае разрешена только на IPF.
Декодер звукового сигнала сначала не опознает такое изменение, и/или он не информирован о таком изменении, например, инфраструктурой декодера. Скорее, декодеру звукового сигнала необходимо выявлять смену потока посредством сравнения встроенных конфигурационных структур («Config-structures»). С ракурса декодера, это выглядит, как если бы кодер просто формировал бы поток с меняющейся конфигурацией («Config»). Фактически, это обычно не так. Скорее, многочисленные варианты (содержащие разные скорости передачи битов) всегда (неизменно) формируются кодером параллельно; только инфраструктура декодера и сервер стороны кодера (или поставщик потока) разделяют потоки и перекомпонуют (заново сцепляют) участки потоков (или потоки).
Дополнительные необязательные подробности показаны на фигурах.
Более того, следует отметить, что устройства, показанные на фигурах, могут быть дополнены любым из признаков и функциональных возможностей, описанных в материалах настоящей заявки, по отдельности или в комбинации.
Таким образом, кодер звукового сигнала или поставщик звукового потока может переключаться между выдачей разных потоков в определенный декодер звукового сигнала (или в устройство декодирования звукового сигнала), при этом, переключение, например, может выполняться по требованию декодера звукового сигнала или устройства декодирования звукового сигнала, или по требованию любого другого сетевого устройства управления, или даже по решению кодера звукового сигнала или поставщика звукового потока. Переключение между выдачей кадров из разных звуковых потоков может использоваться для адаптации действующей скорости передачи битов под имеющуюся в распоряжении скорость передачи битов. Конфигурация декодера, которая сигнализируется из кодера звукового сигнала (или поставщика звукового потока) на декодер звукового сигнала, может быть идентична между разными потоками, но идентификатор потока должен быть разным между разными потоками. Соответственно, декодер звукового сигнала может распознавать, с использованием идентификатора потока, когда должна выполняться повторная инициализация декодера звукового сигнала, с использованием дополнительной информации (например, конфигурационной информации и информации о подмотке), включенной в ближайший кадр воспроизведения.
Чтобы дополнительно подвести итог, использование идентификатора потока («streamID»), как описано в материалах настоящей заявки, может преодолевать проблемы, упомянутые в разделе, описывающем задачи, лежащие в основе аспектов изобретения, и возможные сценарии использования для вариантов осуществления.
10. Способы
Фиг. с 11a по 11c показывают блок-схемы последовательности операций способов по вариантам осуществления согласно настоящему изобретению.
Способы, как показанные на фиг. с 11a по 11c, могут быть дополнены одними из признаков и функциональных возможностей, описанных в материалах настоящей заявки.
11. Альтернативные варианты реализации
Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют собой описание соответствующего способа, где вершина блок-схемы или устройство соответствуют этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют собой описание соответствующих вершины блок-схемы или элемента, либо признака соответствующего устройства. Некоторые или все из этапов способа могут выполняться посредством (или с использованием) аппаратного устройства, например, подобного микропроцессору, программируемому компьютеру или электронной схеме. В некоторых вариантах осуществления, один или более из наиболее важных этапов способа могут выполняться таким устройством.
Обладающий признаками изобретения кодированный звуковой сигнал может храниться на цифровом запоминающем носителе или может передаваться в среде передачи, такой как беспроводная среда передачи или проводная среда передачи, такая как сеть Интернет.
В зависимости от требований определенной реализации варианты осуществления изобретения могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может выполняться с использованием цифрового запоминающего носителя, например, гибкого диска, DVD (цифрового многофункционального диска), диска Blu-Ray, CD (компакт-диска), ПЗУ (постоянного запоминающего устройства, ROM), ППЗУ (программируемого ПЗУ, PROM), СППЗУ (стираемого ППЗУ, EPROM), ЭСППЗУ (электрически стираемого ППЗУ, EEPROM) или памяти FLASH, имеющего электронным образом считываемые сигналы управления, хранимые на нем, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой, так чтобы выполнялся соответственный способ. Поэтому, цифровой запоминающий носитель может быть машинно-читаемым.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий электронным образом считываемые сигналы управления, которые способны взаимодействовать с программируемой компьютерной системой, так чтобы выполнялся один из способов, описанных в материалах настоящей заявки.
Вообще, варианты осуществления настоящего изобретения могут быть реализованы в виде компьютерного программного продукта с управляющей программой, управляющая программа является действующей для выполнения одного из способов, когда компьютерный программный продукт работает на компьютере. Управляющая программа, например, может храниться на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для выполнения одного из способов, описанных в материалах настоящей заявки, хранимую на машиночитаемом носителе.
Поэтому, другими словами, вариант осуществления обладающего признаками изобретения способа является компьютерной программой, имеющей управляющую программу для выполнения одного из способов, описанных в материалах настоящей заявки, когда компьютерная программа работает на компьютере.
Поэтому, дополнительным вариантом осуществления обладающих признаками изобретения способов является носитель данных (или цифровой запоминающий носитель, или машинно-читаемый носитель), содержащий записанную на нем компьютерную программу для выполнения одного из способов, описанных в материалах настоящей заявки. Носитель данных, цифровой запоминающий носитель или записываемый носитель типично являются материальными и/или неэфемерными.
Поэтому, дополнительным вариантом осуществления обладающего признаками изобретения способа является поток данных или последовательность сигналов, представляющие собой компьютерную программу для выполнения одного из способов, описанных в материалах настоящей заявки. Поток данных или последовательность сигналов, например, могут быть выполнены с возможностью передаваться через соединение передачи данных, например, через сеть Интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненные с возможностью или приспособленные для выполнения одного из способов, описанных в материалах настоящей заявки.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную на нем компьютерную программу для выполнения одного из способов, описанных в материалах настоящей заявки.
Дополнительный вариант осуществления согласно изобретению содержит устройство или систему, выполненные с возможностью пересылать (например, электронным образом или оптически) компьютерную программу для выполнения одного из способов, описанных в материалах настоящей заявки, в приемник. Приемник, например, может быть компьютером, мобильным устройством, устройством памяти, или тому подобным. Устройство или система, например, могут содержать файловый сервер для пересылки компьютерной программы на приемник.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может использоваться для выполнения некоторых или всех из функциональных возможностей способов, описанных в материалах настоящей заявки. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором, для того чтобы выполнять один из способов, описанных в материалах настоящей заявки. Обычно, способы предпочтительно выполняются каким-нибудь аппаратным устройством.
Устройство, описанное в материалах настоящей заявки, может быть реализовано с использованием аппаратного устройства или с использованием компьютера, либо с использованием комбинации аппаратного устройства и компьютера.
Устройство, описанное в материалах настоящей заявки, или любые компоненты устройства, описанные в материалах настоящей заявки, могут быть реализованы по меньшей мере частично в аппаратных средствах и/или программном обеспечении.
Способы, описанные в материалах настоящей заявки, могут выполняться с использованием аппаратного устройства или с использованием компьютера, либо с использованием комбинации аппаратного устройства и компьютера.
Способы, описанные в материалах настоящей заявки, или любые компоненты устройства, описанные в материалах настоящей заявки, могут быть осуществлены по меньшей мере частично аппаратными средствами и/или программным обеспечением.
Описанные выше варианты осуществления являются всего лишь иллюстративными применительно к принципам настоящего изобретения. Понятно, что модификации и варианты компоновок и деталей, описанных в материалах настоящей заявки, будут очевидны специалистам в данной области техники. Поэтому, замысел состоит в том, чтобы ограничиваться только объемом прилагаемой патентной формулы изобретения, а не конкретными деталями, представленными в качестве описания и пояснения вариантов осуществления, приведенных в материалах настоящей заявки.