СИНХРОНИЗАЦИЯ ЗВУКА И ВИДЕО
SYNCHRONISATION OF SOUND AND VIDEO

Область техники
Настоящее изобретение относится к синхронизации мультимедийной информации. Главным образом оно связано с синхронизацией непрерывных потоков аудио- и видеоданных, которые обеспечиваются в системах передачи информации.
Уровень техники
Некоторые из новых методов в системах передачи информации относятся к переносу медиакомпонент между электронными устройствами. Медиакомпоненты могут являться, например, непрерывными медиапотоками, которые в режиме реального времени передаются на приемное устройство. Примером такой системы является See-What-I-See (SWIS, "смотри то, что вижу я").
В настоящее время SWIS является способом общения через сеть мобильной связи. Средство связи SWIS обычно включает в себя аудио- и видеокомпоненты, которые доставляются от одного устройства к другому. Основная идея SWIS заключается в том, чтобы производить телефонный звонок и одновременно в реальном времени посылать видеоинформацию, захватываемую или, наоборот, формируемую передающим устройством. Это означает, что приемное устройство может показывать видео получателю в то время, как между ним и отправителем установлена телефонная связь.
Система SWIS может быть осуществлена разными способами. Аудиоинформация может передаваться по сети с коммутацией каналов, а видеоинформация - по сети с коммутацией пакетов. Также возможна передача обоих видов данных по сети с пакетной коммутацией (например, как в VolP). В сети с коммутацией каналов (CS) цифровые данные посылаются как непрерывный поток двоичных данных, вследствие чего в передаче не происходит задержек или же задержка в значительной степени постоянна. В сети с коммутацией пакетов (PS) цифровые данные передаются короткими пакетами, которые содержат в себе передаваемую информацию.
В настоящее время информация, передаваемая по сети с пакетной коммутацией, обрабатывается при помощи транспортного протокола реального времени (РТР). Протокол управления передачей в реальном времени (RCTP) основан на периодической передаче управляющих пакетов всем участникам сессии. Основной функцией RTCP является обеспечение обратной связи о качестве распределения данных.
Способы синхронизации звука и изображений, которые используются, например, в видеоконференц-связи, могут быть найдены в соответствующей области техники. Пример синхронизации для видеоконференц-связи раскрыт в документе ЕР1057337 В1, где звук и изображения синхронизируются посредством обнаружения любых несовпадений между выходами звука и изображений и установки в шлюзе переменной задержки сигнала, направляемого через этот шлюз, до тех пор, пока выходы звука и изображений не будут синхронизированы. В данной публикации видео- и аудиоустройство соединены между собой шлюзом, который получает аудио- и видеосигналы и допускает определение задержки между ними. Синхронизация осуществляется при помощи тестовых сигналов и рассчитанных задержек.
Синхронизация двух потоков RTP, например аудиопотока RTP и видеопотока RTP, выполняется следующим образом. Каждый пакет RTP содержит метку времени для полезной нагрузки пакета. Первая метка времени потока в целях защиты выставляется на случайное значение; метки времени кодируются как такты системных часов собственной частоты аудиовизуальной информации (для видеоданных она обычно равна 90 кГц, для звука - частоте дискретизации или кратна ей). Каждый поток RTP сопровождается потоком пакетов RTCP. Периодически, приблизительно каждые несколько секунд, формируется отчет отправителя RTCP, который содержит фактическое время (время синхронизирующего сетевого протокола NTP), соответствующее отдельной метке времени RTP. Затем получатель использует отчеты отправителя RTCP для преобразования меток времени RTP в фактическое время и в соответствии с этим назначает проигрывание фрагментов мультимедиа.
В основной форме, например, приложения SWIS, когда передающее устройство принимает решение использовать видео совместно с приемным устройством, имеется текущее соединение с коммутацией каналов. Устанавливается видеосвязь с пакетной коммутацией, и видео передается на приемное устройство по протоколам, к примеру, RTP (транспортный протокол реального времени) / UDP (пользовательский протокол данных) / IP (протокол Интернета). Как уже говорилось, при вызове с коммутацией каналов видеопакеты могут сталкиваться с различным и непредсказуемым количеством задержек передачи с большей вероятностью, чем речевые кадры. По транспортным протоколам не передается никакой информации о том, как транслируемое видео синхронизируется с речью. По этой причине получатель не может восстановить точную синхронизацию аудио- и видеоинформации.
Сущность изобретения
Настоящее изобретение предназначено для решения проблемы синхронизации аудио- и видеопотоков в приемном устройстве. Решение основано на использовании технологии сокрытия данных, которая обычно используется, например, для управления цифровыми правами. Целью данного изобретения является реализация способа обработки медиакомпонент, способа проигрывания медиакомпонент, блока обработки, блока синхронизации медиакомпонент, передающего устройства, приемного устройства и компьютерного программного продукта для обработки и проигрывания медиакомпонент в устройстве.
В способе обработки медиакомпонент, передаваемых в устройство, по меньшей мере одна из медиакомпонент снабжается информацией о синхронизации, относящейся к другой из по меньшей мере двух медиакомпонент, посредством технологии сокрытия данных.
Способ проигрывания медиакомпонент в устройстве включает в себя этапы приема вышеуказанных компонент, восстановления информации о синхронизации с одной из компонент, скрытую, как было сказано выше, по меньшей мере в одной из остальных медиакомпонент. При помощи этой информации о синхронизации по меньшей мере две медиакомпоненты синхронизируют для проигрывания.
Блок обработки в передающем устройстве включает в себя средства для снабжения по меньшей мере одной медиакомпоненты информацией о синхронизации с другой компонентой при помощи технологии сокрытия данных.
Блок синхронизации медиакомпонент в приемном устройстве включает средства восстановления (по меньшей мере из одной медиакомпоненты) скрытой информации о синхронизации с одной из медиакомпонент, что позволяет проигрывать по меньшей мере две синхронизированные медиакомпоненты.
В соответствии с изобретением передающее устройство включает вышеупомянутый блок обработки. В соответствии с изобретением приемное устройство включает вышеупомянутый блок синхронизации медиакомпонент. Компьютерный программный продукт для обработки медиакомпонент включает средства кодирования для реализации вышеупомянутого способа обработки медиакомпонент. Компьютерный программный продукт для синхронизации медиакомпонент в устройстве включает средства кодирования для реализации вышеупомянутого способа проигрывания медиакомпонент.
В одном примере синхронизации аудио- и видеоинформации наименее значимые биты, например, метки времени видеопотока RTP, соответствующие отдельному речевому кадру, кодируют в наименее значимые речевые биты данного кадра и, возможно, в несколько следующих кадров.
Данное изобретение обеспечивает обратно совместимые средства синхронизации, например аудио- и видеоинформации. Решение может использовано со службами SWIS, но также и с другими системами, в которых различные компоненты аудиовизуальной информации из источников мультимедиа реального времени передаются при помощи более чем одного стека транспортных протоколов, где стеки транспортных протоколов не обеспечивают средства синхронизации проигрывания медиакомпонент. Примерами медиакомпонент являются аудиоинформация, видеоинформация и синхронный текст.
Описание чертежей
Прилагаемые чертежи, которые включены в данное описание и являются его частью, иллюстрируют примеры, относящиеся к данному изобретению, и, совместно с описанием, поясняют цели и преимущества изобретения. На чертежах:
фиг.1 показывает пример системы, в которой медиакомпоненты передаются от одного электронного устройства на другое,
фиг.2 показывает пример системы в виде блок-схемы,
фиг.3 показывает пример приемного устройства.
Подробное описание изобретения
Настоящее изобретение относится к системе, в которой медиакомпоненты передаются от одного устройства к другому. Медиакомпоненты обычно являются потоковыми компонентами, такими как аудио- и видеоинформация. На фиг.1 показан такой пример. В приведенном далее описании в качестве примера представлена система SWIS, однако также принимаются во внимание и другие возможности. Решение может быть введено в употребление в любой системе, в которой компоненты источника мультимедиа, работающего в реальном времени, передаются при помощи более чем одного стека транспортного протокола, и синхронизация не может быть достигнута собственными средствами протокола. На фиг.1 передающее устройство 100 передает потоковую аудиовизуальную информацию на приемное устройство 150. Потоковая аудиовизуальная информация включает в себя медиакомпоненты, такие как аудиосоставляющая 130 и видеосоставляющая 140. Одни медиакомпоненты 140 могут быть переданы как пакеты данных, другие медиакомпоненты 130 могут быть переданы как непрерывный поток двоичных данных.
Работа передающего устройства в соответствии с фиг.1, также со ссылкой на фиг.2, описана далее. Передающее устройство 100, 200 в случае использования потоковой аудио- и видеоинформации включает в себя, по меньшей мере, средства 110 формирования изображения, например средства ввода видеоинформации (201 на фиг.2), и средства ввода звука 115, 202, такие как микрофон. Источником аудио- и видеосигнала может быть внешний вход устройства, или же эта информация может быть предварительно записана в устройстве. Данные входа могут быть получены от передающего устройства 200, направлены от периферийного устройства или предоставлены другим способом. Если звук непосредственно получается и обрабатывается в передающем устройстве, средства ввода звука содержат блок получения сигнала, например микрофон, блок аналого-цифрового преобразователя и, иногда, блоки обработки звуковых сигналов, например, для изменения частоты дискретизации и выделения сигнала. Если видеоданные непосредственно получаются и обрабатываются передающим устройством, средства ввода видеоинформации содержат блок оптики с линзой, датчик для аналого-цифрового преобразования и, иногда, блоки обработки цифровых сигналов, например, для изменения цветового пространства, изменения размера изображения и выделения сигнала. Когда используются предварительно сохраненные источники для аудио- и видеопотоков, ввод звука и видеоинформации обычно содержит следующие этапы: закодированные аудио- и видеопотоки обычно сохраняются в файле-контейнере, файл-контейнер анализируется, аудио- и видеопотоки демультиплексируются из файла-контейнера, аудио- и видеопотоки декодируются.
Кроме того, передающее устройство 200 содержит блоки (203, 204) кодирования аудио- и видеоинформации для сжатия цифрового сигнала. Представленное изобретение не ограничивается никаким отдельным типом алгоритма кодирования. Также передающее устройство 200 может иметь доступ к уже закодированным потокам, полученным, например, от периферийных устройств, или предварительно сохраненным в файлах.
Блок 205 сокрытия информации о синхронизации в передающем устройстве 200 принимает необходимые части информации, такие как метки времени захвата кадров мультимедиа, соответствующие фактическому времени передающего устройства, из блоков (202, 201) аудио- и видеовхода. В одном варианте выполнения изобретения блок 205 сокрытия информации о синхронизации изменяет один из закодированных потоков двоичных данных для включения в него таких элементов информации, которые позволяют получателю синхронизировать проигрывание двух потоков. На фиг.3 поток двоичных данных, содержащий аудиоинформацию, изменяется для включения в него информацию о синхронизации из видеосигнала. В другом варианте выполнения изобретения (не показан на чертежах) передающее устройство 200 изменяет один из потоков с канальным кодированием для включения в него таких элементов информации, которые позволяют получателю синхронизировать проигрывание двух потоков. Хотя блок сокрытия информации о синхронизации 205 представлен на фиг.3 как отдельный модуль, он может быть встроен в устройства кодирования источника или канала.
Блоки (206, 207) кодирования канала вводят элементарные потоки аудио- и видеоинформации и инкапсулируют их в соответствии с используемыми транспортными протоколами. Например, видеоинформация может быть инкапсулирована в соответствии со спецификациями полезной нагрузки протокола RTP для формата кодирования видео, затем полезная нагрузка RTP инкапсулируется в соответствии с протоколами RTP, UDP и IP, а после этого передаются дейтаграммы IP в соответствии со вторым (канальным) и первым (физическим) уровнями используемых протоколов.
Передающее устройство 200 содержит по меньшей мере один блок (208, 209) передачи, обеспечивающий возможность организации сети, и средства для выдачи сигналов с канальным кодированием из устройства. В одном из вариантов выполнения изобретения блоки передачи включают радиопередатчик.
В соответствии с фиг.2 аудио- и видеопотоки передаются по раздельным каналам (210, 215), один из которых является каналом 220 с коммутацией каналов, а второй - каналом 225 с пакетной коммутацией. Необходимо понимать, что под термином «канал» здесь понимается логический канал, воспринимаемый оконечным устройством, таким как передающее устройство 200 и приемное устройство 250, в соответствии с изобретением. Таким образом, сетевая инфраструктура двух отдельных каналов может быть целиком или частично идентичной, но не обязательно.
Приемное устройство 250 по сравнению с передающим устройством 200 осуществляет обратные операции. Сначала оно принимает аудио- и видеопотоки (258, 259) с канальным кодированием. Затем выполняется декодирование каналов (256, 257) для получения элементарных аудио- и видеобитовых потоков, которые, в свою очередь, декодируются для получения несжатых цифровых аудио- и видеосигналов. Приемное устройство 250 также содержит блок 255 восстановления синхронизации.
В одном варианте выполнения изобретения блок 255 восстановления информации о синхронизации извлекает такие элементы информации из элементарных аудио- или видеопотоков, что позволяет получателю 250 синхронизировать проигрывание двух потоков. На фиг.3 информация о синхронизации извлекается из двоичного звукового потока. В другом варианте выполнения изобретения (не показан на чертежах) информация о синхронизации извлекается из потоков с канальным кодированием. Хотя блок восстановления информации о синхронизации 255 представлен на фиг.2 как отдельный модуль, он может быть встроен в устройства кодирования источника или канала.
Синхронизация проигрывания может осуществляться после шага декодирования, как показано на фиг.2, или до него (не показано на чертежах). Вне зависимости от того, на каком этапе обработки потоков мультимедиа происходит синхронизация, приемное устройство 250 должно оценивать задержку обработки на последующих этапах для каждого тракта обработки и вносить соответствующую задержку обработки.
Распакованные аудио- и видеосигналы могут выводиться (251, 252) при помощи блоков приемного устройства 250 через периферийные устройства вывода и/или записываться. В случае наличия аудио- и видеоинформации блоки в приемном устройстве 250 обычно содержат акустическую систему 165 и экран 160 (см. фиг.1). Примерами периферийных устройств вывода являются гарнитура с наушником и внешний экран. Аудио- и видеоинформация также может быть записана в сжатом или несжатом формате. В обоих случаях кросс-поток восстановленной информации о синхронизации также записывается или используется для получения и записи такой информации о синхронизации, как, например, временных меток фактического времени, которые являются общими для обоих потоков мультимедиа.
Хотя представленное изобретение показано на примере системы, изображенной на фиг.1 и фиг.3, оно может быть использовано в любой подсистеме, включая все свои характерные особенности. Примерами таких подсистем являются передающее устройство, приемное устройство, набор блоков для обработки данных, содержащих блок сокрытия или восстановления информации о синхронизации, и набор микросхем для обработки данных, содержащих блок сокрытия или восстановления информации о синхронизации и специальное аппаратное и программное обеспечение.
Данное изобретение основано на сокрытии информации в компонентах мультимедиа. Это означает, что по меньшей мере в один поток при помощи технологии сокрытия данных добавляется кросс-поток информации о синхронизации. Приведенное далее описание представляет два примера осуществления сокрытия данных. Первый пример относится к сокрытию данных в речевых кадрах, второй - к сокрытию данных в любом из потоков RTP. Примеры приведены только для ознакомления, и специалисты должны рассмотреть различные способы сокрытия данных, подходящие для данного изобретения.
Сокрытие данных в речевых кадрах
В данном примере информация о синхронизации для проигрывания соответствующих речи потоков RTP предоставляется в виде скрытых элементов информации, содержащихся в закодированном двоичном потоке речевого сигнала. Информация о синхронизации должна включать по меньшей мере один из следующих параметров: метка времени RTP, последовательный номер RTP, значение любого элемента синтаксиса или элементы, которые могут быть использованы для распознавания закодированного изображения или видеопотока. Примером такого элемента является значение элемента синтаксиса «frame_num» и значение временного опорного элемента синтаксиса. Кроме того, информация о синхронизации может содержать любое значение, полученное из двоичного видеопотока (например, результат декодирования). Скрытая информация о синхронизации может являться данными подвыборки или квантованными данными. Необходимо заметить, что скрытые элементы информации не обязательно однозначно определяют видеоизображение, в то время как последовательность таких скрытых элементов может быть однозначно согласована с видеопотоком.
Для лучшего объяснения предыдущего примера можно представить, что речевой поток содержит скрытую информацию через равные промежутки времени, начиная с первого речевого кадра, время захвата которого наиболее близко к первому переданному видеоизображению. Тактовая частота меток времени RTP для видеопотока равна 90 кГц, а скорость захвата видеоизображения - 25 Гц. Следовательно, минимальный интервал закодированного изображения на основании меток времени RTP равен 3600 (в тактах системных часов с частотой 90 кГц). Продолжительность речевых кадров - 20 мс, и каждый речевой кадр должен содержать 1 бит скрытой информации. Следовательно, в каждом периоде, равном 0.5 с, для сокрытия информации доступно 25 бит. В такой системе 24 наиболее значимых бита меток времени RTP кодируются, а 25-й бит является повторением первого бита периода 0.5 с. Также предполагается, что сквозная задержка речи с коммутацией каналов меньше, чем у потоков RTP.
Во время речевого вызова (когда сопровождающие потоки с пакетной коммутацией еще не запущены) получатель может работать обычным способом, но также он может буферизовать речевые кадры в буфер с окном пакетной передачи переменной длительности, называемый в этом документе буфером кодированного речевого сигнала. Его размер равен или превышает ожидаемую или максимальную разницу в синхронизации аудио и видео (+25 речевых кадров). Необходимо заметить, что буферизированные кадры проигрываются до того, как они будут извлечены из буфера кодированного речевого сигнала (т.е. буфер кодированного речевого сигнала не должен являться обычным буфером предварительного декодера, используемым для буферизации закодированных данных перед их поступлением в декодер).
В некоторый момент вызова устанавливается видеопоток RTP, и принимается первый пакет RTP. В этот момент соответствующий речевой кадр уже проигран, поэтому в самом начале синхронизация аудио и видео невозможна. Получатель проверяет буфер кодированного речевого сигнала следующим образом.
- Из каждой последовательности из 25 речевых кадров в буфере кодированного речевого сигнала формируется кандидатная метка времени; скрытый бит в 25-м речевом кадре равен биту в первом кадре последовательности. Скрытые биты образовывают 24 наиболее значимых бита кандидатной метки времени, а оставшиеся восемь наименее значимых битов приравниваются к нулю.
- Из этих кандидатных меток времени формируется последовательность меток, которая охватывает все речевые кадры, находящиеся в буфере кодированного речевого сигнала, за исключением речевых кадров в начале или конце буфера, количество которых меньше 25-ти. Если кандидатная метка времени не находится ни в одной последовательности меток, то она далее не учитывается.
- Те последовательности кандидатных меток времени, в которых значение меток не возрастает монотонно, отбрасываются.
- Выбирается та последовательность кандидатных меток времени, которая содержит метку, наиболее близкую к метке времени RTP первого видеопакета.
Затем для задержки проигрывания речевых кадров и установки синхронизации аудио и видео получатель применяет ребуферизацию или адаптивное проигрывание мультимедиа. Получатель постоянно анализирует скрытые данные и метки времени RTP и управляет тактовым генератором проигрывания аудио и видео для сохранения синхронизации.
Сокрытие данных в потоках RTP
В данном примере информация скрывается в закодированном видеосигнале. Пример осуществления такого способа - использование дополнительной улучшающей информации (SEI), пользовательских данных о формате кодирования видеосигнала или специальных потоков RTP (и, возможно, полезной нагрузки RTP) в качестве информации о синхронизации. В более подробном примере, приведенном ниже, используется дополнительная улучшающая информация.
Так как поток речевого сигнала в вызовах с коммутацией каналов не содержит номеров последовательностей меток времени, скрытые элементы информации необходимо получать из самого двоичного речевого потока. Это может быть, например, повторение речевого кадра, ближайшего в данный момент к видеоизображению, в котором находится сообщение о синхронизации SEI.
Первоначальная синхронизация аудио и видео после образования потока RTP осуществляется подобно предыдущему примеру.
Сигнализация
Для того чтобы приемное устройство знало, когда передающее устройство использует сокрытие данных для предоставления информации о синхронизации, используется сигнализация от передающего устройства к приемному. Сигнализация может производиться при помощи, например, модели «предложение/ответ» протокола SDP (протокол описания сеанса связи) в дополнение к процедурам установления соединения SIP (протокол установления сеанса связи). Передача сигналов SDP может содержать основные параметры для анализа информации о синхронизации в приемном устройстве.
В некоторых случаях приемное устройство может не понять передачу сигналов в соответствии с данным изобретением. В таких ситуациях подобные устройства могут проигнорировать передаваемые сигналы без особых проблем, потому что и при отсутствии, и при наличии информации о синхронизации в двоичных потоках это не повлияет на процесс декодирования данных.
Пример приемного устройства представлен на фиг.3. Приемное устройство также может работать в качестве передающего. Устройство содержит средства связи 320, имеющие передатчик 321 и приемник 322, или подключено к ним. Также могут быть и другие средства связи 380, также имеющие передатчик 381 и приемник 382. Первый блок средств связи 320 может быть приспособлен для дальней связи, а второй блок 380 - для связи ближнего действия, например, системы Bluetooth™, системы WLAN (беспроводная локальная сеть) или другой системы, подходящей для местного использования и связи с другим устройством. В соответствии с примером на фиг.3, устройство 300 также содержит экран 340 для отображения видеоинформации и изображений. Кроме того, устройство 300 может иметь средства взаимодействия, такие как клавиатура 350 для ввода информации и т.п. В дополнение или вместо клавиатуры 350 в состав устройства может входить стилус и сенсорный экран. Устройство 300 содержит в себе звуковые средства 360, такие как наушник 361, микрофон 362 и кодек (необязательно) для кодирования (и, при необходимости, декодирования) аудиоинформации. В состав устройства 300 также могут входить средства 310 формирования изображения. Для управления функциями и запуском приложений в устройство 300 может быть встроен блок 330 управления. Блок 330 управления может иметь один или несколько процессоров (CPU, DSP). Кроме того, в устройстве имеется память 370 для хранения, например, информации, приложений и компьютерных программных кодов.
Специалист должен понимать, что предыдущие примеры были приведены для ознакомления с изобретением, в котором для синхронизации потоков мультимедиа использована технология сокрытия данных. Система и устройства могут иметь любое количество других функциональных возможностей, которые улучшают точность синхронизации. Поэтому должно быть понятно, что предшествующее подробное описание приведено только для более ясного понимания и не является ограничением формулы изобретения.