Способ кодирования изображений

Иллюстрации

Показать все

Изобретение относится к способу буферизации мультимедийной информации, а также к способу декодирования закодированного потока изображений в декодере, в котором закодированный поток изображений принимается в виде блоков передачи, содержащих мультимедийные данные. Технический результат заключается в повышении эффективности сжатия при буферизации мультимедийной информации. Предложена система обработки мультимедийных данных, содержащая кодер для кодирования изображений и буфер для буферизации мультимедийных данных, при этом мультимедийные данные включены в блоки передачи данных, причем блоки передачи данных упорядочены в последовательности передачи, которая, по меньшей мере, частично отличается от последовательности декодирования мультимедийных данных в блоках передачи данных, также содержится блок определения, выполненный с возможностью задания параметра, показывающего максимальное число блоков передачи данных, которые предшествуют любому блоку передачи данных в потоке пакетов в последовательности передачи и следуют за этим блоком передачи данных в последовательности декодирования. 12 н. и 20 з.п. ф-лы, 7 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится к способу буферизации мультимедийной информации. Изобретение также относится к способу декодирования закодированного потока изображений в декодере, в котором закодированный поток изображений принимается в виде блоков передачи, содержащих мультимедийные данные. Изобретение дополнительно относится к системе, передающему устройству, приемному устройству, компьютерному программному продукту для буферизации закодированных изображений, компьютерному программному продукту для декодирования потока закодированных изображений, сигналу, модулю, процессору для обработки мультимедийных данных в передающем устройстве, процессору для обработки мультимедийных данных в приемном устройстве, кодеру и декодеру.

Уровень техники

Опубликованные стандарты кодирования видео включают в себя ITU-T H.261, ITU-T H.263, ISO/IEC MPEG-1, ISO/IEC MPEG-2 и ISO/IEC MPEG-4 Part 2. Эти стандарты указываются в данном документе в качестве традиционных стандартов кодирования видео.

Системы передачи видео

Системы передачи видео могут быть разделены на разговорные и неразговорные системы. Разговорные системы включают в себя видеоконференции и видеотелефонию. Примеры таких систем включают в себя ITU-T Recommendations H.320, H.323 и H.324, которые задают систему видеоконференций/телефонии, работающую в сетях ISDN, IP и PSTN соответственно. Разговорные системы характеризуются стремлением минимизировать сквозную задержку (от захвата звука/видео до представления звука/видео на дальнем конце), чтобы повысить возможности работы пользователей.

Неразговорные системы включают в себя воспроизведение сохраненного содержимого, например универсальных цифровых дисков (DVD) или видеофайлов, сохраненных в запоминающем устройстве большой емкости устройства воспроизведения, цифровое ТВ и потоковую передачу данных. Ниже приведен краткий обзор наиболее важных стандартов в этих технологических областях.

Главным стандартом в цифровой потребительской видеоаппаратуре сегодня является MPEG-2, который включает в себя спецификации по сжатию видео, сжатию звука, сохранению и передаче. Сохранение и передача закодированного видео основана на концепции элементарного потока. Элементарный поток состоит из закодированных данных от одного источника (к примеру, видео) плюс дополнительных данных, требуемых для синхронизации, идентификации и определении параметров исходной информации. Элементарный поток пакетируется в пакеты либо постоянной длины, либо переменной длины чтобы сформировать пакетированный элементарный поток (PES). Каждый пакет PES состоит из заголовка и следующих за ним потоковых данных, называемых полезной нагрузкой. Пакеты PES из различных элементарных потоков объединяются, чтобы сформировать либо программный поток (PS) либо поток распространения (TS). PS востребован в приложениях, имеющих незначительные ошибки передачи, например в приложениях типа "сохрани и воспроизведи". TS востребован в приложениях, которые допускают ошибки передачи. Тем не менее, TS предполагает, что пропускная способность сети гарантированно является постоянной.

Joint Video Team (JVT) организаций ITU-T и ISO/IEC выпустила проект стандарта, который включает в себя текст того же стандарта, что ITU-T Recommendation H.264 и ISO/IEC International Standard 14496-10 (MPEG-4 Part 10). Проект стандарта называется в данном документе стандартом кодирования JVT, а кодек согласно проекту стандарта называется кодеком JVT.

Сама спецификация кодека концептуально отличается между уровнем кодирования видео (VCL) и уровнем абстрагирования от сети (NAL). VCL содержит функциональность обработки сигналов кодека, такие вещи как преобразование, квантование, поиск/компенсация движения и контурный фильтр. Она следует основной концепции большинства современных видеокодеков, основанном на макроблоке кодере, который использует предсказание внешних изображений с компенсацией движения и кодирование преобразования разностного сигнала. Выходом VCL являются кванты: битовая строка, которая содержит данные макроблока из целого числа макроблоков и информацию о заголовке кванта (содержащую пространственный адрес первого макроблока в кванте, исходный параметр квантования и т.п.). Макроблоки в квантах упорядочены в последовательности сканирования, если не задано другое выделение макроблоков с помощью так называемого синтаксиса гибкого упорядочивания макроблоков. Предсказание внешних изображений используется только в рамках кванта.

NAL заключает в себя вывод квантов VCL в блоки уровня абстрагирования от сети (NALU), которые подходят для передачи по сетям с коммутацией пакетов или использования в ориентированных на пакеты мультиплексных окружениях. Приложение B JVT задает процесс инкапсуляции, чтобы передавать эти NALU по ориентированным на потоки битов сетям.

Дополнительный режим выбора опорного изображения по H.263 и средство кодирования NEWPRED из MPEG-4 Part 2 дают возможность выбора опорного кадра для компенсации движения на каждый сегмент изображения, к примеру на каждый квант в H.263. Более того, дополнительный усовершенствованный режим выбора опорного изображения по H.263 и стандарт кодирования JVT дают возможность выбора опорного кадра для каждого макроблока в отдельности.

Выбор опорного изображения делает возможным множество типов схем временной масштабируемости. Фиг.1 иллюстрирует пример схемы временной масштабируемости, которая в данном документе называется рекурсивной временной масштабируемостью. Типичная схема может быть декодирована с помощью трех постоянных частот смены кадров. Фиг.2 иллюстрирует схему, называемую избыточным кодированием видео, в которой последовательность изображений делится на два или более независимо кодируемых потока чередующимся способом. Стрелки на этих и всех последующих чертежах показывают направление компенсации движения, а значения под кадрами соответствуют относительному времени захвата и отображения кадров.

Последовательность передачи

В традиционных стандартах кодирования видеопоследовательность декодирования изображений аналогична последовательности отображения, за исключением B-изображений. Блок в традиционном B-изображении может быть двунаправленно предсказан по времени из двух опорных изображений, при этом одно опорное изображение предшествует по времени, а другое опорное изображение следует по времени после в последовательности отображения. Только самое последнее опорное изображение в последовательности декодирования может следовать за B-изображением в последовательности отображения (исключение: чересстрочное отображение в H.263, где оба полевые изображения последующего во времени опорного кадра могут предшествовать B-изображению в последовательности декодирования). Традиционное B-изображение может быть использовано в качестве опорного изображения для временного предсказания и поэтому традиционное B-изображение может быть размещено без затрагивания декодирования каких-либо других изображений.

Стандарт кодирования JVT включает в себя следующие новые технические признаки по сравнению с более ранними стандартами:

- Последовательность декодирования изображений отделена от последовательности отображения. Номер изображения показывает последовательность декодирования, а счетчик последовательности изображения показывает последовательность отображения.

- Опорные изображения для блока в B-изображении могут быть либо до либо после B-изображения в последовательности отображения. Следовательно, B-изображение означает двупредсказуемое изображение вместо двунаправленного изображения.

- Изображения, которые не используются в качестве опорных изображений, отмечены явно. Изображение любого типа (внутреннее, внешнее, B и т.д.) может быть либо опорным изображением либо неопорным изображением. (Таким образом, B-изображение может быть использовано в качестве опорного изображения для временного предсказания других изображений).

- Изображение может содержать кванты, которые закодированы с использованием различного типа кодирования. Другими словами, закодированное изображение может состоять, например, из внутренне закодированного кванта и B-закодированного кванта.

Отделение последовательности отображения от последовательности декодирования может быть выгодно с точки зрения эффективности сжатия и устойчивости к ошибкам.

Пример структуры предсказания, потенциально повышающей эффективность сжатия, представлен на фиг.3. Прямоугольники показывают изображения, заглавные буквы в прямоугольниках показывают типы кодирования, числа в прямоугольниках - номера изображений согласно стандарту кодирования JVT, а стрелки показывают зависимости предсказания. Заметим, что изображение B17 является опорным изображением для изображений B18. Эффективность сжатия потенциально повышается по сравнению с традиционным кодированием, поскольку опорные изображения для изображений B18 ближе по времени по сравнению с традиционным кодированием с помощью шаблонов закодированных изображений PBBP или PBBBP. Эффективность сжатия потенциально повышается по сравнению с традиционным шаблоном закодированных изображений PBP, поскольку часть опорных изображений является двунаправленно предсказуемой.

Фиг.4 представляет пример способа откладывания внутренних изображений, который может быть использован, чтобы повышать устойчивость к ошибкам. Традиционно внутреннее изображение кодируется сразу после съемки кадра или, например, в качестве реакции на истекший период обновления внутреннего изображения. При способе откладывания внутреннего изображения внутреннее изображение не кодируется сразу после того, как возникает необходимость закодировать внутреннее изображение, а вместо этого следующее по времени изображение выбирается в качестве внутреннего изображения. Каждое изображение между закодированным внутренним изображением и традиционным расположением внутреннего изображения предсказывается из следующего по времени изображения. Как проиллюстрировано на фиг.4, способ откладывания внутреннего изображения генерирует две независимые цепочки предсказания внешних изображений, тогда как традиционные алгоритмы кодирования генерируют одну цепочку внешних изображений. Интуитивно понятно, что подход с двумя цепочками более надежен в отношении ошибок стирания, чем традиционный подход с одной цепочкой. Если одна цепочка испытывает потерю пакетов, другая цепочка по-прежнему может быть корректно принята. При традиционном кодировании потеря пакетов всегда вызывает распространение ошибки на оставшуюся часть цепочки предсказания внешних изображений.

Два типа информации об упорядочивании и распределении по времени были традиционно ассоциативно связаны с цифровым видео: последовательность декодирования и представления. Далее представлены подробности связанной технологии.

Временная метка декодирования (DTS) показывает время по отношению к опорному тактовому сигналу, в котором, как предполагается, декодируется блок закодированных данных. Если DTS закодирована и передана, она служит для двух целей. Во-первых, если последовательность декодирования изображений отличается от последовательности их вывода, DTS показывает последовательность декодирования в явной форме. Во-вторых, DTS гарантирует определенное функциональное поведение буферизации пре-декодера при условии, что скорость приема близка к скорости передачи в любой момент времени. В сетях, где сквозная задержка варьируется, второй вариант использования DTS не играет никакой или играет незначительную роль. Вместо этого принятые данные декодируются настолько быстро, насколько это возможно, при условии, что есть запас в буфере пост-декодера для несжатых изображений.

Перенос DTS зависит от используемой системы связи и стандарта кодирования видео. В системах MPEG-2 DTS может быть необязательно передана как один элемент в заголовке пакета PES. В стандарте кодирования JVT DTS может необязательно быть перенесена в качестве части дополнительной информации расширения (SEI) и она используется при работе необязательного номинального опорного декодера. В базовом формате файлов мультимедиа ISO DTS посвящена собственному типу блока, блоку декодирования по времени на выборку. Во многих системах, например, основанных на RTP системах потоковой передачи, DTS вообще не переносится, поскольку считается, что последовательность декодирования аналогична в последовательности передачи, и точное время декодирования не играет важной роли.

Необязательные приложения U и W.6.12 H.263 задают номер изображения, который увеличивается на 1 по отношению к предыдущему опорному изображению в последовательности декодирования. В стандарте кодирования JVT элемент кодирования номера кадра задается аналогично номеру изображения H.263. Стандарт кодирования JVT задает конкретный тип внутреннего изображения, называемый изображением мгновенного обновления декодера (IDR). Ни одно последующее изображение не может ссылаться на изображения, которые следуют раньше, чем IDR-изображение, в последовательности декодирования. IDR-изображение часто кодируется в качестве реакции на смену кадров. В стандарте кодирования JVT номер кадра сбрасывается до 0 при IDR-изображении, чтобы повысить устойчивость к ошибкам в случае потери IDR-изображения, что представлено на фиг.5a и 5b. Тем не менее, следует заметить, что SEI-сообщение информации о кадре стандарта кодирования JVT также может быть использовано для распознавания смены кадров.

Номер изображения H.263 может быть использован, чтобы восстановить последовательность декодирования опорных изображений. Аналогично номер кадра JVT может быть использован, чтобы восстановить последовательность декодирования кадров между IDR-изображением (включительно) и следующим IDR-изображением (исключая) в последовательности декодирования. Тем не менее, поскольку дополнительные опорные пары полей (последовательные изображения, закодированные как поля, которые имеют другую четность) совместно используют один и тот же номер кадра, последовательность его декодирования не может быть восстановлена из номеров кадров.

Номер изображения H.263 или номер кадра JVT неопорного изображения задается, чтобы быть равным номеру изображения или кадра предыдущего опорного изображения в последовательности декодирования плюс 1. Если несколько неопорных изображений идут последовательно в последовательности декодирования, они совместно используют один и тот же номер изображения или кадра. Номер изображения или кадра неопорного изображения также аналогичен номеру изображения или кадра следующего опорного изображения в последовательности декодирования. Последовательность декодирования последовательных неопорных изображений может быть восстановлена с помощью опорного по времени (TR) элемента кодирования в H.263 или концепции счетчика в последовательности изображений (POC) стандарта кодирования JVT.

Временная метка представления (PTS) показывает время по отношению к опорному тактовому сигналу, когда, как считается, изображение должно быть отображено. Временная метка представления также называется временной меткой отображения, временной меткой вывода и композиционной временной меткой.

Перенос PTS зависит от используемой системы связи и стандарта кодирования видео. В системах MPEG-2 PTS может быть необязательно передана как один элемент в заголовке пакета PES. В стандарте кодирования JVT PTS может необязательно быть перенесена как часть в качестве части дополнительной информации расширения (SEI). В базовом формате файлов мультимедиа ISO DTS посвящена собственному типу блока, композиционному блоку по времени на выборку, при этом временная метка представления кодируется относительно соответствующей временной метки декодирования. В RTP временная метка RTP в заголовке пакета RTP соответствует PTS.

Традиционные стандарты кодирования видео содержат опорный по времени (TR) элемент кодирования, который аналогичен PTS во многих аспектах. В некоторых из традиционных стандартов кодирования, например видео MPEG-2 TR сбрасывается до нуля в начале группы изображений (GOP). В стандарте кодирования JVT отсутствует понятие времени в уровне кодирования видео. Счетчик последовательности изображений (POC) задается для каждого кадра и поля и он используется аналогично TR, например, при прямом временном предсказании B-квантов. POC сбрасывается до 0 в IDR-изображении.

Буферизация

Клиенты потоковой передачи типично имеют буфер приемного устройства, который может сохранять относительно большое количество данных. В начале, когда установлен сеанс потоковой передачи, клиент не начинает воспроизведение потока немедленно, а вместо этого он типично буферизует входящие данные на несколько секунд. Эта буферизация позволяет поддерживать непрерывное воспроизведение, поскольку в случае случайно увеличившихся задержек передачи или падений сетевой пропускной способности клиент может декодировать и воспроизводить буферизованные данные. В противном случае без начальной буферизации клиент должен заморозить отображение, прекратить декодирование и ждать входящие данные. Буферизация также необходима либо для автоматической либо для выборочной повторной передачи на любом протокольном уровне. Если какая-либо часть изображения потеряна, механизм повторной передачи может быть использован, чтобы повторно отправить потерянные данные. Если повторно переданные данные приняты до назначенного времени декодирования или воспроизведения, потеря восстанавливается полностью.

Закодированные изображения могут быть ранжированы согласно их важности в субъективном качестве декодированной последовательности. Например, неопорные изображения, такие как традиционные B-изображения, субъективно менее важны, поскольку их отсутствие не влияет на декодирование любых других изображений. Субъективное ранжирование также может быть выполнено на основе раздела данных или группы квантов. Закодированные кванты и разделы данных, которые субъективно более важны, могут быть отправлены до того, как их последовательность декодирования укажет, тогда как закодированные кванты и разделы данных, которые субъективно менее важны, могут быть отправлены после того, как покажет их естественная последовательность кодирования. Следовательно, любые повторно переданные части наиболее важных квантов и разделов данных, более вероятно, будут приняты до их назначенного времени декодирования или воспроизведения по сравнению с менее важными квантами и разделами данных.

Буферизация пре-декодера

Буферизация пре-декодера относится к буферизации закодированных данных перед тем, как они декодированы. Начальная буферизация относится к буферизации пре-декодера в начале сеанса потоковой передачи. Начальная буферизация традиционно выполняется по двум описанным ниже причинам.

В традиционных мультимедийных системах с коммутацией пакетов, к примеру, в основанных на IP системах видеоконференций различные типы мультимедиа обычно переносятся в отдельных пакетах. Более того, пакеты типично переносятся поверх сети "наибольших усилий", которая не может гарантировать постоянную задержку передачи, а вместо этого задержка может варьироваться от пакета к пакету. Следовательно, пакеты, имеющие одинаковую временную метку представления (воспроизведения), могут приниматься не одновременно, и интервал приема двух пакетов может быть не таким, как интервал представления (в единицах времени). Таким образом, чтобы поддерживать синхронизацию воспроизведения между различными типами мультимедиа и поддерживать корректную скорость воспроизведения, мультимедийный терминал типично буферизует принятые данные в течение короткого периода времени (к примеру, менее чем полсекунды), чтобы сгладить разброс задержки. В данном документе такой тип буферного компонента называется буфером неустойчивой задержки. Буферизация может происходить до и/или после записи мультимедийных данных.

Буферизация неустойчивой задержки также применяется в системах потоковой передачи. Учитывая тот факт, что потоковая передача является неразговорным приложением, требуемый буфер неустойчивой задержки может быть значительно больше, чем в разговорных приложениях. Когда проигрыватель потоковой передачи установил подключение к серверу и запросил мультимедийный поток быть загруженным, сервер начинает передавать нужный поток. Проигрыватель не начинает воспроизводить поток немедленно, а вместо этого типично буферизует входящие данные на определенный период, типично несколько секунд. В данном документе буферизация также называется начальной буферизацией. Начальная буферизация предоставляет возможность сглаживать разбросы задержек передачи способом, аналогичным предоставленному посредством буферизации неустойчивой задержки в разговорных приложениях. Помимо этого она может дать возможность использования канала связи, распространения и/или повторных передач на уровне приложений потерянных протокольных (PDU) блоков данных. Проигрыватель может декодировать и воспроизводить буферизованные данные, хотя повторно переданные PDU могут быть приняты вовремя, чтобы быть декодированными и воспроизведенными в запланированное время.

Начальная буферизация в клиентах потоковой передачи предоставляет еще одно преимущество, которое не может быть достигнуто в разговорных системах: она дает возможность скорости передачи данных мультимедиа, передаваемого с сервера, варьироваться. Другими словами, пакеты мультимедиа могут быть переданы быстрее или медленнее во времени, чем их скорость воспроизведения, до тех пор, пока буфер приемного устройства не переполняется или опустошается. Флюктуация скорости передачи данных может возникать из двух источников.

Во-первых, эффективность сжатия, достигаемая в некоторых типах мультимедиа, например видео, зависит от содержимого исходных данных. Следовательно, если требуется стабильное качество, скорость результирующего сжатого потока битов варьируется. Типично стабильное аудиовизуальное качество субъективно более привлекательно, чем варьирующееся качество. Таким образом, исходная буферизация дает возможность быть достигнутом более привлекательному аудиовизуальному качеству в сравнении с системой без начальной буферизации, такой как система видеоконференций.

Во-вторых, общеизвестно, что потери пакетов в выделенных IP-сетях возникают на пиках. Чтобы избежать пульсирующих ошибок и высоких пиковых скоростей передачи битов и пакетов, хорошо спроектированные серверы потоковой передачи тщательно составляют расписание передачи пакетов. Пакеты могут быть отправлены точно со скоростью, с которой они воспроизводятся принимающей стороной, однако, вместо этого серверы могут попытаться достигнуть устойчивого интервала между переданными пакетами. Сервер также может отрегулировать скорость передачи пакетов в соответствии с доминирующими характеристиками сети, например, снижая скорость передачи пакетов, когда сеть становится перегруженной, и повышая, если позволяют характеристики сети.

Передача потоков мультимедиа

Система потоковой передачи мультимедиа состоит из сервера потоковой передачи и ряда проигрывателей, которые осуществляют доступ к серверу посредством сети. Сеть типично ориентирована на пакеты и предоставляет мало или вообще не предоставляет средств гарантированного качества обслуживания. Проигрыватели получают либо заранее сохраненное либо "живое" мультимедийное содержимое от сервера и воспроизводят его в реальном времени в то время, когда содержимое загружается. Типом передачи данными может быть либо двухточечная либо многосторонняя. При двухточечной потоковой передаче сервер предоставляет отдельное подключение для каждого проигрывателя. При многосторонней потоковой передаче сервер передает один пакет данных ряду проигрывателей, а элементы сети дублируют поток только в том случае, если это необходимо.

Когда проигрыватель установил подключение к серверу и запросил мультимедийный поток, сервер начинает передавать нужный поток. Проигрыватель не начинает воспроизводить поток немедленно, а вместо этого типично буферизует входящие данные на несколько секунд. В данном документе буферизация также называется начальной буферизацией. Начальная буферизация позволяет поддерживать непрерывное воспроизведение, поскольку в случае случайно увеличившихся задержек передачи или падений сетевой пропускной способности проигрыватель может декодировать и воспроизводить буферизованные данные.

Чтобы избежать неограниченной задержки передачи, редко предпочитают надежные транспортные протоколы в системах потоковой передачи. Вместо этого системы предпочитают ненадежные транспортные протоколы, например UDP, которые, с одной стороны, наследуют более стабильную задержку передачи, но, с другой стороны, также испытывают повреждение или потерю данных.

Протоколы RTP и RTCP могут быть использованы поверх UDP, чтобы контролировать обменом данными в реальном времени. RTP предоставляет средство определять потери пакетов передачи, заново компоновать корректную последовательность пакетов на принимающей стороне и ассоциативно связывать временную метку выборки с каждым пакетом. RTCP передает информацию о том, насколько крупные части пакетов были корректно приняты, и поэтому он может быть использован для управления потоками.

В традиционных стандартах кодирования видео последовательность декодирования объединена с последовательностью вывода. Другими словами, последовательность декодирования I- и P-изображений такая же, как последовательность их вывода, а последовательность декодирования B-изображения следует сразу за последовательностью декодирования последнего опорного изображения из B-изображений в последовательности вывода. Следовательно, можно восстанавливать последовательность декодирования на основе известной последовательности вывода. Последовательность вывода типично передается в элементарном потоке битов видео в поле "опорный по времени" (TR), а также в системном мультиплексном уровне, например в заголовке RTP.

Некоторые спецификации полезной нагрузки RTP дают возможность передачи закодированных данных вне последовательности декодирования. Величина неупорядоченности типично характеризуется одним значением, которое задано аналогично во многих соответствующих спецификациях. Например, в проекте документа "RTP Payload Format for Transport of MPEG-4 Elementary Streams" параметр maxDisplacement задан следующим образом:

Максимальный сдвиг во времени блока доступа (AU), соответствующего закодированному изображению, - это максимальная разность между временной меткой AU в шаблоне и временной меткой наиболее раннего AU, который еще не поступил. Другими словами, при рассмотрении последовательности чередующихся AU:

Максимальный сдвиг = max{TS(i) - TS(j)}, для любого i и любого j>i,

где i и j показывают индекс AU в шаблоне чередования, а TS означает временную метку AU.

В настоящем изобретении было замечено, что в данном способе существуют некоторые проблемы и он предоставляет слишком большое значение для буфера.

Сущность изобретения

Пример схемы, в которой задание максимального сдвига осуществляется неверно при задании требований к буферизации (в отношении пространства для буфера и длительности начальной буферизации) приведен далее. Последовательность квантована на части из 15 AU, и последний AU в последовательности декодирования и вывода в такой части из 15 AU передается первым, а все остальные AU передаются в последовательности декодирования и вывода. Таким образом, переданная последовательность AU следующая:

14 0 1 2 3 4 5 6 7 8 9 10 11 12 13 29 15 16 17 18 19...

Максимальный сдвиг для этой последовательности равен 14 для AU (14 + k * 15) (для всех неотрицательных целых значений k).

Тем не менее, последовательность пространства для буфера и начальной буферизации только для первого AU.

В проекте документа по формату полезной нагрузки RTP для H.264 (draft-ietf-avt-rtp-h264-01.txt) параметр num-reorder-VCL-NAL-units задан следующим образом: этот параметр может быть использован, чтобы сигнализировать о свойствах потока блоков NAL или характеристиках передающего устройства, или реализации приемного устройства. Параметр задает максимальную величину блоков VCL NAL, которые предшествуют любому блоку VCL NAL в потоке блоков NAL в последовательности декодирования блоков NAL и следуют за блоком VCL NAL в последовательности номеров последовательности RTP или в последовательности компоновки пакета агрегации, содержащего блок VCL NAL. Если параметр отсутствует, должно быть применено значение num-reorder-VCL-NAL-units, равное 0. Значение num-reorder-VCL-NAL-units должно быть целым числом в диапазоне 0-32767 включительно.

Согласно стандарту H.264 блоки VCL NAL заданы как блоки NAL, имеющие nal_unit_type, равным от 1 до 5, включительно. В стандарте заданы следующие типы блоков NAL 1-5:

1 - закодированный квант не-IDR-изображения;

2 - закодированный квант, раздел данных A;

3 - закодированный квант, раздел данных B;

4 - закодированный квант, раздел данных C;

5 - закодированный квант IDR-изображения.

Параметр num-reorder-VCL-NAL-units вызывает проблему, аналогичную проблеме, возникающей в вышеописанном параметре максимального сдвига. Т.е. невозможно принять решение о требованиях к пространству буферизации и времени начальной буферизации на основе этого параметра.

Изобретение позволяет сигнализирование о размере буфера приема декодеру.

В нем независимая GOP состоит из изображений от IDR-изображения (включительно) до следующего IDR-изображения (исключая) в последовательности декодирования.

В настоящем изобретении параметр, сигнализирующий о максимальной величине требуемой буферизации, задан более точно, чем в системах предшествующего уровня техники. В последующем описании изобретение описано с помощью основанной на кодере-декодере системы, однако очевидно, что изобретение также может быть реализовано в системах, в которых видеосигналы сохраняются. Сохраненными видеосигналами могут быть незакодированные сигналы, сохраненные до кодирования, закодированные сигналы, сохраненные после кодирования, либо декодированные сигналы, сохраненные после процесса кодирования и декодирования. Например, кодер генерирует потоки битов в последовательности передачи. Файловая система принимает потоки битов аудио и/или видео, которые заключены, к примеру, в последовательности декодирования и сохранены как файл. Файл может быть сохранен в базе данных, из которой сервер потоковой передачи может считывать блоки NAL и заключать их в пакеты RTP.

Более того, в последующем описании изобретение описано с помощью основанной на кодере-декодере системы, однако очевидно, что изобретение также может быть реализовано в системах, в которых кодер выводит и передает закодированные данные другому компоненту, например серверу потоковой передачи в первой последовательности, в которых другой компонент записывает закодированные данные из первой последовательности в другую последовательность, задает требуемый размер буфера для другой последовательности и переадресует закодированные данные в реорганизованной форме декодеру.

Согласно первому аспекту настоящего изобретения предложен способ буферизации мультимедийных данных в буфер, при этом мультимедийные данные включены в блоки передачи данных, причем блоки передачи данных упорядочены в последовательности передачи, которая, по меньшей мере, частично отличается от последовательности декодирования мультимедийных данных в блоках передачи данных, отличающийся тем, что задают параметр, показывающий максимальное число блоков передачи данных, которые предшествуют любому блоку передачи данных в потоке пакетов в последовательности передачи и следуют за этим блоком передачи данных в последовательности декодирования.

Согласно второму аспекту настоящего изобретения предложен способ декодирования потока закодированных изображений в декодере, в котором поток закодированных изображений принимают в виде блоков передачи данных, содержащих мультимедийные данные, при этом блоки в виде передачи данных упорядочены в последовательности передачи, которая, по меньшей мере, частично отличается от последовательности декодирования мультимедийных данных в блоках передачи данных, выполняют буферизацию блоков передачи данных, отличающийся тем, что требования к буферизации указывают процессу декодирования в виде параметра, показывающего максимальное число блоков передачи данных, которые предшествуют любому блоку передачи данных в потоке пакетов в последовательности передачи и следуют за этим блоком передачи данных в последовательности декодирования.

Согласно третьему аспекту настоящего изобретения предложена система, содержащая кодер для кодирования изображений и буфер для буферизации мультимедийных данных, при этом мультимедийные данные включены в блоки передачи данных, причем блоки передачи данных упорядочены в последовательности передачи, которая, по меньшей мере, частично отличается от последовательности декодирования мультимедийных данных в блоках передачи данных, отличающаяся тем, что содержит блок определения, выполненный с возможностью задания параметра, показывающего максимальное число блоков передачи данных, которые предшествуют любому блоку передачи данных в потоке пакетов в последовательности передачи и следуют за этим блоком передачи данных в последовательности декодирования.

Согласно четвертому аспекту настоящего изобретения предложено передающее устройство для передачи мультимедийных данных, включенных в блоки передачи данных, при этом блоки передачи данных упорядочены в последовательности передачи, которая, по меньшей мере, частично отличается от последовательности декодирования мультимедийных данных в блоках передачи данных, отличающееся тем, что содержит блок определения, выполненный с возможностью задания параметра, показывающего максимальное число блоков передачи данных, которые предшествуют любому блоку передачи данных в потоке пакетов в последовательности передачи и следуют за этим блоком передачи данных в последовательности декодирования.

Согласно пятому аспекту настоящего изобретения предложено приемное устройство для приема потока закодированных изображений в виде блоков передачи данных, содержащих мультимедийные данные, при этом блоки передачи данных упорядочены в последовательности передачи, которая, по меньшей мере, частично отличается от последовательности декодирования мультимедийных данных в блоках передачи данных, отличающееся тем, что содержит средство для задания требований к буферизации посредством использования параметра, показывающего максимальное число блоков передачи данных, которые предшествуют любому блоку передачи данных в потоке пакетов в последовательности передачи и следуют за этим блоком передачи данных в последовательности декодирования.

Согласно шестому аспекту настоящего изобретения предусмотрен компьютерный программный продукт, содержащий машиноисполняемые этапы для буферизации закодированных изображений в буфер, при этом мультимедийные данные включены в блоки передачи данных, причем блоки передачи данных упорядочены в последовательности передачи, которая, по меньшей мере, частично отличается от последовательности декодирования мультимедийных данных в блоках передачи данных, отличающийся тем, что дополнительно содержит машиноисполняемые этапы для задания параметра, показывающего максимальное число блоков передачи данных, которые предшествуют любому блоку передачи данных в потоке пакетов в последовательности передачи и следуют за этим блоком передачи данных в последовательности декодирования.

Согласно седьмому аспекту настоящего изобретения предложен компьютерный программный продукт, содержащий машиноисполняемые этапы для декодирования потока закодированных изображений, причем поток закодированных изображений принят в виде блоков передачи, содержащих мультимедийные данные, и машиноисполняемые этапы для буферизации блоков передачи, отличающийся тем, что содержит машиноисполняемые этапы для задания требований к буферизации для проц