ХРАНЕНИЕ НАБОРОВ ПАРАМЕТРОВ УЛУЧШЕННОГО ВИДЕОКОДИРОВАНИЯ (AVC) В ФАЙЛОВОМ ФОРМАТЕ AVC
STORAGE OF ADVANCED VIDEO CODING (AVC) SET OF PARAMETRES IN AVC FILE FORMAT

Область техники, к которой относится изобретение
Настоящее изобретение, в общем, относится к файловому формату улучшенного видеокодирования (AVC), а более конкретно, - к хранению наборов параметров AVC в файловом формате AVC.
Предшествующий уровень техники
Файловый формат улучшенного видеокодирования (AVC) предоставляет поддержку потоковой передачи мультимедийных данных по сети, а также локального воспроизведения. Наиболее распространенные серверы потоковой передачи используют протокол потоковой передачи в реальном времени (RTSP) вместе с протоколом описания сеанса (SDP) в качестве управляющего протокола для установки и разрыва сеансов потоковой передачи мультимедиа между клиентами и серверами. Дополнительно протокол потоковой передачи в реальном времени (RTP) используется в качестве протокола передачи данных для мультимедийной информации между серверами и клиентами.
Кодек AVC предоставляет средство для отделения специальной информации от видеопотока, которая является релевантной более чем для одного видеокадра. Подразумевается, что эта специальная информация должна отправляться посредством надежного транспортного протокола (такого как, к примеру, протокол управления передачей, TCP) помимо отправки посредством ненадежного транспортного протокола (такого как, например, протокол передачи дейтаграмм пользователя, UDP), вложенной в мультимедийный поток. Эта специальная информация, объединенная вместе, формирует набор параметров. Набор параметров AVC может включать в себя, например, такую информацию: размер кадра или изображения; размер окна отображения; таблицу распределения макроблоков и т.п.
Один или множество наборов параметров может существовать для любого данного видеопотока AVC. Кодер и декодер должны хранить одинаковый список наборов параметров. Каждый заголовок временного интервала в видеопотоке AVC включает в себя код, который указывает набор параметров, который должен быть использован при декодировании. На основе этого кода декодер затем может определить, какой набор параметров использовать для надлежащего декодирования. Поскольку наборы параметров не связаны с основным видеопотоком, можно и желательно отправлять их из сервера потоковой передачи мультимедиа клиенту потоковой передачи мультимедиа внеполосным способом.
Далее приводится описание типичного сценария транзакции потоковой передачи мультимедиа. Когда клиент потоковой передачи мультимедиа запрашивает потоковую передачу мультимедиа с сервера, перед потоковой передачей типично осуществляется начальное согласование. Последовательность начального согласования влечет за собой отправку клиентом запроса на сервер, чтобы получить информацию о конкретном потоке. Затем сервер отправляет ответ клиенту с минимальными обязательными подробными сведениями, требуемыми для приема и декодирования потока. Это начальное согласование, как правило, осуществляется с помощью сетевого протокола, такого как протокол потоковой передачи в реальном времени (RTSP). Протокол RTSP может быть использован, чтобы отправлять наборы параметров из сервера потоковой передачи мультимедиа клиенту потоковой передачи мультимедиа. Тем не менее, вследствие природы сервера потоковой передачи, чтобы сервер потоковой передачи отправлял зависимые от мультимедиа данные клиенту, набор параметров должен быть сохранен в файле таким образом, чтобы сервер потоковой передачи не знал или не беспокоился о том, какой тип имеет мультимедийный файл.
Следовательно, будет необходимо и очень выгодно иметь способ обеспечения возможности протоколу RTSP сервера потоковой передачи мультимедиа передавать наборы параметров независимым от мультимедиа способом клиенту.
Сущность изобретения
Вышеуказанные проблемы, а также остальные связанные проблемы предшествующего уровня техники разрешаются настоящим изобретением способом хранения наборов параметров AVC в файловом формате AVC. Настоящее изобретение предоставляет расширение файлового формата AVC для целей хранения усовершенствованных метаданных, чтобы улучшить услуги потоковой передачи. Расширение влечет за собой вставку наборов параметров AVC в метаданные записей указаний (Hint Track) файлового формата AVC при сохранении возможности предоставлять обратную совместимость с существующими серверами потоковой передачи.
Согласно аспекту настоящего изобретения предусмотрен способ использования информации наборов параметров, соответствующей файлу улучшенного видеокодирования (AVC). Способ включает в себя этап, на котором встраивают информацию набора параметров в запись указаний AVC-файла.
Согласно другому аспекту настоящего изобретения предусмотрено устройство для использования информации наборов параметров, соответствующей файлу улучшенного видеокодирования (AVC). Устройство включает в себя устройство встраивания для встраивания информации набора параметров в запись указаний AVC-файла.
Согласно еще одному аспекту настоящего изобретения предусмотрен способ использования информации наборов параметров, соответствующей файлу улучшенного видеокодирования (AVC). Способ включает в себя этапы, на которых встраивают информацию набора параметров в запись указаний AVC-файла и передают информацию наборов параметров в ходе внеполосной и независимой от мультимедиа передачи.
Эти и другие аспекты, признаки и преимущества настоящего изобретения должны стать более очевидными из последующего подробного описания предпочтительных вариантов осуществления, которые должны рассматриваться в связи с прилагаемыми чертежами.
Краткое описание чертежей
Фиг. 1 - это схема, иллюстрирующая файл 100 расширенного видеокодирования (AVC), к которому может быть применено настоящее изобретение, согласно иллюстративному варианту осуществления настоящего изобретения;
Фиг. 2 - это схема, иллюстрирующая видеокодер 200 расширенного видеокодирования (AVC), к которому может быть применено настоящее изобретение, согласно иллюстративному варианту осуществления настоящего изобретения;
Фиг. 3 - это схема, иллюстрирующая примерные метаданные 300, выводимые из AVC-кодера 200 по фиг. 2, согласно иллюстративному варианту осуществления настоящего изобретения;
Фиг. 4 - это схема, иллюстрирующая информацию 400 описания записи протокола описания сеанса (SDP) согласно иллюстративному варианту осуществления настоящего изобретения;
Фиг. 5 - это блок-схема высокого уровня, иллюстрирующая устройство 500 для вставки наборов параметров в записи указаний AVC-файла 599 согласно иллюстративному варианту осуществления настоящего изобретения;
Фиг. 6 - это блок-схема высокого уровня, иллюстрирующая генерирование таблиц метаданных и запись таблиц метаданных в AVC-файл согласно иллюстративному варианту осуществления настоящего изобретения;
Фиг. 7 - это блок-схема высокого уровня, иллюстрирующая запись мультимедийных данных в AVC-файл согласно иллюстративному варианту осуществления настоящего изобретения;
Фиг. 8 - это блок-схема высокого уровня, иллюстрирующая записывание записи указаний в AVC-файл согласно иллюстративному варианту осуществления настоящего изобретения.
Подробное описание изобретения
Настоящее изобретение направлено на расширение для файлового формата AVC, общеизвестный формат хранения цифрового потокового мультимедиа, для целей хранения расширенных метаданных, чтобы улучшить услуги потоковой передачи. Расширение влечет за собой вставку наборов параметров AVC в метаданные записи указаний (Hint Track) файлового формата AVC при сохранении возможности предоставлять обратную совместимость с существующими серверами потоковой передачи. Наборы параметров встраиваются в запись указаний файлового формата AVC таким образом, чтобы протокол RTSP сервера потоковой передачи мультимедиа имел возможность передавать наборы параметров независимым от мультимедиа способом клиенту.
Следует принимать во внимание, что настоящее изобретение, в общем, относится к файловому формату улучшенного видеокодирования (AVC) (Международная организация по стандартизации/Международная электротехническая комиссия (ISO/IEC) 14496, часть 15), совместно разработанному Международным союзом электросвязи (ITU) и Экспертной группой по киноизображению (MPEG). Тем не менее с учетом предлагаемых в данном документе методик настоящего изобретения специалисты в данной области техники должны рассматривать этот и другие файловые форматы, к которым может быть применено настоящее изобретение, без отступления от духа и области применения настоящего изобретения.
Следует понимать, что настоящее изобретение может быть реализовано в различных формах аппаратных средств, программного обеспечения, микропрограммного обеспечения, процессоров специального назначения или их сочетания. Предпочтительно, настоящее изобретение реализуется как сочетание аппаратных средств и программного обеспечения. Более того, программное обеспечение предпочтительно реализуется как прикладная программа, материально осуществленная на устройстве хранения программ. Прикладная программа может быть загружена в и исполнена посредством машины, содержащей любую надлежащую архитектуру. Предпочтительно, машина реализуется на вычислительной платформе, имеющей аппаратные средства, такие как один или более центральных процессоров (ЦП), оперативное запоминающее устройство (ОЗУ) и интерфейсы ввода-вывода. Вычислительная платформа также включает в себя операционную систему и код микрокоманд. Различные процессы и функции, описанные в данном документе, могут быть либо частью кода микрокоманд, либо частью прикладной программы (или сочетание вышеозначенного), которые исполняются посредством операционной системы. Помимо этого различные другие периферийные устройства могут быть подключены к вычислительной платформе, такие как дополнительное устройство хранения данных и печатающее устройство.
Дополнительно следует понимать, что поскольку некоторые из составляющих системных компонентов и этапов способа, изображенных на прилагаемых чертежах, предпочтительно реализуются в программном обеспечении, фактические связи между системными компонентами (или этапами процесса) могут отличаться в зависимости от способа, которым запрограммировано настоящее изобретение. С учетом представленных в данном документе методик специалисты в данной области техники имеют возможность обдумать эти и аналогичные реализации или конфигурации настоящего изобретения.
Файловый формат AVC предоставляет поддержку потоковой передачи мультимедийных данных по сети, а также локального воспроизведения. AVC-файл, который поддерживает потоковую передачу мультимедиа, включает дополнительную информацию об элементах данных в поток. Дополнительная информация включается в дополнительные записи файла, известные как записи указаний (Hint Track). Запись указаний предоставляет инструкции потоковой передачи серверу, такие как, например, информацию о форматировании пакетов, чтобы обеспечить надлежащую доставку и сведения о синхронизации, чтобы дать возможность надлежащей синхронизации передачи. Помимо этого запись указаний также может предоставлять еще информацию, такую как подробные сведения о типе мультимедиа, которое запрашивает клиент, которая далее может быть отправлена клиенту в ходе начального взаимодействия между клиентом и сервером.
Наиболее распространенные серверы потоковой передачи используют протокол потоковой передачи в реальном времени (RTSP) вместе с протоколом описания сеанса (SDP) в качестве управляющего протокола для установки и разрыва сеансов потоковой передачи между клиентами и серверами. Дополнительно протокол потоковой передачи в реальном времени (RTP) используется в качестве протокола передачи данных для мультимедийной информации между серверами и клиентами. Следует принимать во внимание, что настоящее изобретение направлено на серверы потоковой передачи, которые используют RTSP в качестве управляющего протокола для установления сеанса. Разумеется, специалисты в данной области техники должны безусловно принимать во внимание, что настоящее изобретение также может быть модифицировано и реализовано в отношении серверов потоковой передачи, которые используют протокол, отличный от RTSP, в качестве управляющего протокола, не выходя за рамки сущности и объема настоящего изобретения.
RTSP - это текстовый протокол, в котором сообщения включают в себя заголовок и информационное исполнение. Заголовок, как правило, задается стандартом, тогда как части информационного исполнения могут зависеть от приложений. В случае основанного на RTSP сервера потоковой мультимедийной передачи сервер по умолчанию вставляет информацию протокола описания сеанса (SDP), включенную в AVC-файл, в RTSP-сообщение в ходе начального согласования потоковой передачи мультимедиа с клиентом. Поэтому посредством встраивания наборов параметров AVC в информацию SDP сервер имеет возможность передавать наборы параметров мультимедийного потока клиенту без обладания знаниями о формате мультимедиа. Как результат, наборы параметров передаются прежде какого-нибудь мультимедиа, и помимо этого они передаются с использованием надежного транспортного протокола, поскольку RTSP по умолчанию использует протокол управления передачей (TCP).
Фиг. 1 - это схема, иллюстрирующая файл 100 расширенного видеокодирования (AVC), к которому может быть применено настоящее изобретение, согласно иллюстративному варианту осуществления настоящего изобретения. AVC-файл 100 включает в себя информацию 160 видеозаписи AVC, информацию 165 звуковой записи, информацию 170 записи указаний для видео и информацию 175 записи указаний для звука. AVC-файл 100 дополнительно включает в себя звуковые записи 110, видеозаписи 120 и записи 130 указаний. Записи 130 указаний могут быть использованы для целей потоковой передачи согласно настоящему изобретению.
Записи 130 указаний в AVC-файле 100 включают в себя специальные инструкции для сервера потоковой передачи, чтобы помогать в формировании пакетов. Эта информация предоставляется таким образом, что сервер имеет возможность пакетировать мультимедийные данные способом, подходящим для потоковой передачи, с использованием конкретного сетевого транспорта. Помимо включения специальных инструкций потоковой передачи, другие данные могут быть встроены в запись указаний, которые сервер должен немедленно отправить клиенту (например, в соответствии с настоящим изобретением другие данные могут включать в себя наборы параметров).
Далее описывается процесс сохранения наборов параметров AVC в записи указаний AVC-файла. Фиг. 2 - это схема, иллюстрирующая видеокодер 200 улучшенного видеокодирования (AVC), к которому может быть применено настоящее изобретение, согласно иллюстративному варианту осуществления настоящего изобретения. Во-первых, AVC-видеокодер 200 должен иметь, по меньшей мере, один выходной интерфейс для доставки сжатых видеоданных и соответствующих метаданных во второй модуль для целей хранения. Кроме того, в фиг. 2 включено передающее устройство 250 для передачи наборов параметров в ходе внеполосной передачи. Наборы параметров передаются встроенными в информационное наполнение SDP AVC-файла.
Фиг. 3 - это схема, иллюстрирующая примерные метаданные 300, выводимые из AVC-кодера 200 по фиг. 2, согласно иллюстративному варианту осуществления настоящего изобретения. Метаданные 300, которые доставляются из AVC-видеокодера 200, могут включать в себя такую информацию, как размер 210 сжатого видеокадра, тип 215 видеокадра (к примеру, I-кадр, P-кадр и B-кадр), информацию 220 о синхронизации (к примеру, скорость передачи кадров), другие атрибуты 225 и новые наборы 230 параметров. Конкретный интерес в данной заявке представляют наборы 230 параметров, поскольку наборы 230 параметров сохраняются в AVC-файле в рамках видеопотока, а также в записи указаний, которая ссылается на видеопоток. Таким образом, для наборов 230 параметров, которые должны быть сохранены в записях указаний, данными, принимаемыми по выходному интерфейсу AVC-видеокодера, нужно надлежащим образом управлять.
Когда наборы 230 параметров являются частью метаданных 300, выводимых из AVC-видеокодера, они копируются и сохраняются в хранилище для последующего обращения, когда создается запись указаний. Это дает возможность созданию записи указаний быть более простым и оптимизированным, поскольку мультимедийная запись не должна анализироваться от начала до конца, чтобы находить наборы параметров.
Фиг. 4 - это схема, иллюстрирующая информацию 400 описания записи протокола описания сеанса (SDP) согласно иллюстративному варианту осуществления настоящего изобретения. Наборы 230 параметров AVC сохранены в информации 400 описания записи SDP, включенной в запись указаний. Сохранение наборов 230 параметров в записи указаний обеспечивает средство для транспортировки наборов 230 параметров с использованием надежного сетевого транспорта в ходе инициализации потокового сеанса. Что в равной степени важно, предоставляется обратная совместимость с текущими серверами потоковой передачи, поскольку дополнительного расширения к файлу не требуется. Информация 400 описания записи SDP дополнительно включает в себя информацию 410 о продолжительности записи, информацию 420 описания записи и другие атрибуты 430. Таблица 1 иллюстрирует сохранение наборов параметров AVC в информации описания записи протокола описания сеанса (SDP) согласно иллюстративному варианту осуществления настоящего изобретения.
Таблица 1
v=0
s=AVC Streaming Media Program
u=http://
e=admin@
a=control:*
a=range:npt=0 - 60,96
m=video 0 RTP/AVP 96
a=rtpmap:96 AVC/90000
a=paramset:"data:video/jvt;base64,MIME encoded Parameter Sets"
a=control:trackID=2
m=audio 0 RTP/AVP 14
a=rtpmap:14 MPA/22050
a=control:trackID=6
Информация набора параметров может быть закодирована средствами многоцелевых расширений электронной почты в Интернете (MIME) до встраивания в информационное наполнение SDP записи указаний.
Фиг. 5 - это блок-схема высокого уровня, иллюстрирующая устройство 500 для вставки наборов параметров в записи указаний AVC-файла 599 согласно иллюстративному варианту осуществления настоящего изобретения. Устройство 500 включает в себя диспетчер 510 мультимедиа и метаданных, анализатор 520 метаданных, модуль 530 вставки, модуль 540 записи мультимедиа, модуль 550 записи метаданных, модуль 560 записывания записи указаний и модуль записи 570 базовых файлов.
Видеоданные 501 и метаданные 502 принимаются посредством диспетчера 510 мультимедиа и метаданных. Диспетчер 510 мультимедиа и метаданных обеспечивает то, чтобы процесс записи файлов выполнялся надлежащим образом и чтобы файл не записывался несогласованным образом. В большинстве случаев метаданные 502 должны располагаться в файле первыми, после чего должны следовать записи мультимедийных данных и записи указаний. Следовательно, диспетчер 510 мультимедиа и метаданных предусмотрен, чтобы управлять процессом записи.
Предусмотрено три основных модуля (540, 550, 560) записи, которые сопряжены с модулем 570 записи базовых файлов. Может показаться, что каждый из этих модулей отправляет данные для записи в базовый файл одновременно, но фактически они отправляют данные, которые должны быть записаны, в конкретном порядке (к примеру, порядке, описанном выше, т.е. метаданные, мультимедийные данные и данные указаний). Далее эти модули записи описываются дополнительно со ссылкой на фиг. 6-8.
Фиг. 6 - это блок-схема высокого уровня, иллюстрирующая генерирование таблиц метаданных и запись таблиц метаданных в AVC-файл согласно иллюстративному варианту осуществления настоящего изобретения. Фиг. 7 - это блок-схема высокого уровня, иллюстрирующая запись мультимедийных данных в AVC-файл согласно иллюстративному варианту осуществления настоящего изобретения. Фиг. 8 - это блок-схема высокого уровня, иллюстрирующая записывание записи указаний в AVC-файл согласно иллюстративному варианту осуществления настоящего изобретения. Как указано выше, записывание записи указаний AVC в AVC-файл влечет за собой извлечение наборов параметров из метаданных и сохранение их в информации SDP записи указаний.
Ссылаясь на фиг. 6 и 8, метаданные вводят в диспетчер 510 мультимедиа и метаданных. Как известно, метаданные - это набор структур данных для сохранения зависимой от мультимедиа информации, такой как, но не только, временные метки, размеры кадров, наборы параметров и т.п. Метаданные используются, например, для того, чтобы поддерживать синхронизацию соответствующего мультимедиа с дополнительными данными для целей, к примеру, декодирования, кодирования, отображения, доступа и передачи.
Диспетчер 510 мультимедиа и метаданных извлекает метаданные из мультимедиа и анализирует метаданные на предмет наборов параметров (см. фиг. 8). Таким образом, если наборы параметров присутствуют в метаданных, анализатор 520 метаданных извлекает наборы параметров и передает их в структуру данных SDP записи указаний. В противном случае, если набор параметров не обнаружен, анализатор 520 метаданных преобразует метаданные в стандартизированные структуры данных, что обеспечивает средство для записи информации в файл. Модуль 550 записи метаданных использует интерфейс прикладного программирования (API) модуля 570 базовой записи, чтобы записать метаданные в AVC-файл 599.
На фиг. 7 диспетчер 510 мультимедиа и метаданных извлекает мультимедиа и общий размер мультимедиа. Затем данные передаются непосредственно в модуль 540 записи мультимедиа. Модуль записи мультимедиа также использует API модуля 570 базовой записи, чтобы записать выборки мультимедиа в AVC-файл 599.
Хотя иллюстративные варианты осуществления описаны со ссылкой на прилагаемые чертежи, следует понимать, что настоящее изобретение не ограничено исключительно этими вариантами осуществления и что различные изменения и модификации могут быть внесены в него специалистами в данной области техники без отступления от сущности и объема изобретения. Подразумевается включение всех этих изменений и модификаций в объем изобретения, задаваемый прилагаемой формулой изобретения.