Декодирование и кодирование изображений видеопоследовательности

Иллюстрации

Показать все

Группа изобретений относится к декодированию и кодированию изображений видеопоследовательности и, в частности, к выводу или выталкиванию “bumping” изображений из буфера декодированных изображений в связи с кодированием и декодированием изображений. Техническим результатом является сокращение задержки вывода изображений. В представленном решении после того как текущее изображение было декодировано и сохранено в буфере декодированных изображений, определяют DPB и некоторое число изображений в DPB, которые маркированы в качестве необходимых для вывода. Это число сравнивается, после того как текущее изображение было декодировано и сохранено в DPB со значением, полученным из по меньшей мере одного синтаксического элемента, представленного или подлежащего представлению, в битовом потоке, представляющем изображения видеопоследовательности. Если это число больше, чем значение, изображение, которое является первым изображением в порядке вывода, из изображений в DPB, которые маркированы в качестве необходимых для вывода, предпочтительно выводится и маркируется в качестве не являющегося необходимым для вывода. 14 н. и 20 з.п. ф-лы, 30 ил.

Реферат

Область техники

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

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

Сжатие видео H.264

H.264 (Экспертная Группа-4 по Движущемуся Изображению, Усовершенствованное Кодирование Видео (MPEG-4 AVC)) является стандартом кодирования видео уровня техники. Он состоит из гибридной схемы кодирования видео на основе блоков, которая использует временные и пространственные избыточности. Стандарт Н.264/AVC определен в тексте спецификации, которая содержит множество процессов декодирования, которые должны быть исполнены в точно определенной последовательности для того, чтобы декодер был совместимым со стандартом. К кодеру нет никаких требований, но часто имеет место, что кодер также исполняет большинство из процессов для того, чтобы достичь хорошей эффективности сжатия.

H.264/AVC определяет буфер декодированных изображений (DPB), который сохраняет декодированные изображения после того как они были декодированы. Это означает, что декодеру необходимо использовать некоторый заданный объем памяти для того, чтобы декодировать последовательность. DPB содержит изображения, которые используются для ссылки (обращения) во время декодирования будущих изображений. "Используемое для ссылки" означает в данном документе, что некоторое конкретное изображение используется для предсказания, когда декодируется другое изображение. Пиксельные значения изображения, которое используется для ссылки, затем могут быть использованы для предсказания пиксельных значений изображения, которое декодируется в настоящее время. Это также называется внешним (интер-) предсказанием. DPB дополнительно содержит изображения, которые ожидают вывода. "Вывод" здесь означает функцию, где декодер выводит изображение за пределы декодера. Спецификация H.264 описывает, как битовый поток преобразуется в декодированные изображения, которые затем выводятся, см. Фиг. 1. Выводимые изображения могут, например, быть отображены или записаны на диск.

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

Фиг. 2 показывает пример трех изображений: A, B, и C. Порядок декодирования является порядком, в котором изображения в сжатом формате подаются в декодер. Обычно он аналогичен порядку, в котором изображения кодируются кодером. Фиг. 2 показывает, что порядок декодирования в этом примере представляет собой A, B и C. Порядок вывода является порядком, в котором выводятся декодированные изображения. Порядок вывода не должен быть таким же, как порядок декодирования, как проиллюстрировано в примере на Фиг. 2, где порядок вывода представляет собой A, C, B. Стрелки на фигуре показывают для каждого изображения, какие изображения используются для ссылки: изображение A используется для ссылки и для изображения B, и для C.

На Фиг. 2, изображение C декодируется после B, но выводится до него. Когда изображение B было декодировано, оно не может быть незамедлительно выведено, поскольку изображение C еще не было декодировано и должно быть выведено до изображения B. Поэтому, изображение B должно быть сохранено в DPB после того как оно было декодировано, даже если оно не используется для ссылки любым другим изображением. При декодировании изображения C, изображение A также должно быть представлено в DPB, поскольку изображение C использует изображение A для ссылки.

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

В качестве продолжения описания DPB, H.264/AVC содержит три процесса, которые происходят после того, как изображение было декодировано: процесс маркирования изображения, процесс вывода изображения и процесс освобождения.

Процесс маркирования изображения маркирует изображения либо в качестве "используемого для ссылки", либо в качестве "неиспользуемого для ссылки". Изображение, маркированное в качестве "используемого для ссылки", доступно для ссылки, что означает, что последующее изображение в порядке декодирования может использовать изображение для ссылки в своих процессах декодирования. Изображение, маркированное в качестве "неиспользуемого для ссылки", не может быть использовано для ссылки последующими изображениями. Этот процесс управляется кодером через битовый поток. В битовом потоке H.264/AVC имеется необязательный синтаксис, который, если присутствует, указывает, какие изображения следует маркировать в качестве "неиспользуемых для ссылки". Эта операция часто упоминается как операция контроля управления памятью (MMCO). Если необязательного синтаксиса MMCO нет, определяется механизм первый на входе, первый на выходе, называемый процессом "скользящего окна". Процесс скользящего окна означает то, что когда последнее декодированное изображение привело бы к слишком большому количеству изображений в DPB, самое старое изображение в порядке декодирования автоматически маркируется в качестве "неиспользуемого для ссылки".

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

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

Размер DPB в H.264/AVC ограничен. Это означает, что число изображений, которые могут быть сохранены, поскольку они ожидают вывода или стали доступными для ссылки, ограничено. Переменная max_dec_frame_buffering обозначает размер DPB, иногда упоминаемый как число слотов изображений, которые имеются в DPB. Кодер должен гарантировать, что размер DPB никогда не выходит за пределы.

Три процесса описываются в стандарте. Это означает, что декодер управляется кодером и поэтому декодер не имеет никакой свободы относительно порядка вывода. Это все определяется процессом вывода изображения и связанными элементами в битовом потоке, отправляемом кодером. Упрощенная блок-схема последовательности операций для этапов декодирования H.264/AVC показана на Фиг 3.

Процесс вывода изображения в H.264 задает порядок, в котором изображения должны быть выведены. Декодер, который выводит изображения в правильном порядке, является совместимым с порядком вывода. Декодер может следовать процессу вывода изображения, описанному в H.264, но иногда возможно использовать переменную num_reorder_frames, чтобы выводить изображения раньше, чем задано процессом вывода изображения. num_reorder_frames указывает максимальное число изображений, которые предшествуют какому-либо изображению в порядке декодирования и следуют за ним в порядке вывода.

Фиг. 4 показывает пример, где только что было декодировано изображение B. Но изображение B не может быть выведено поскольку неизвестно, должно ли изображение C быть выведено до или после изображения B. Если кодер решил, что порядок вывода является таким же, как порядок декодирования, он может указать декодеру значение num_reorder_frames равное 0. Кодер посредством этого обеспечил то, что изображение C в примере будет выведено после изображения B и декодер сможет незамедлительно вывести изображение B, когда оно будет декодировано. В этом случае, когда num_reorder_frames равно 0, в декодере отсутствует дополнительная задержка переупорядочения. Если num_reorder_frames в примере установлено в 1, возможно, что изображение C должно быть выведено до изображения B. С num_reorder_frames равным 1, имеется дополнительная задержка переупорядочения в 1 изображение, с num_reorder_frames равным 2, задержка переупорядочения будет составляет 2 изображения и так далее.

Сжатие видео HEVC

Высокоэффективное Видеокодирование (HEVC), также упоминаемое как H.265, является стандартом видеокодирования, разрабатываемым Объединенной Группой по Видеокодированию (JCT-VC). JCT-VC является совместным проектом между MPEG и Сектором Стандартизации Телекоммуникаций Международного Телеграфного Союза (ITU-T). HEVC включает в себя большое количество новых инструментальных средств и является значительно более эффективным, чем H.264/AVC. HEVC также задает temporal_id для каждого изображения в соответствии с временным уровнем, к которому принадлежит упомянутое изображение. Временные уровни упорядочены и имеют свойство, что более низкий временной уровень никогда не зависит от более высокого временного уровня. Таким образом, более высокие временные уровни могут быть удалены без оказания воздействия на более низкие временные уровни. Удаление временных уровней может упоминаться как временное масштабирование. Битовый поток HEVC содержит синтаксический элемент, max_sub_layers_minus1, который точно определяет максимальное число временных уровней, которые могут быть представлены в битовом потоке. Декодер может декодировать все временные уровни или декодировать только поднабор временных уровней. Наивысший временной уровень, который фактически декодирует декодер, упоминается, как наивысший временной подуровень и может быть установлен равным или более низким, чем максимальные количества уровней, которые точно определены посредством max_sub_layers_minus1. Декодер затем декодирует все уровни, которые равны или более низкие, чем наивысший временной подуровень. Наивысший временной подуровень может быть установлен внешним средством.

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

Поток декодирования в соответствии с HEVC немного отличается от H.264/AVC. HEVC обладает DPB, процессом маркирования изображения, который маркирует изображения в качестве "используемых для ссылки" и "неиспользуемых для ссылки", процессом вывода изображения, который маркирует изображения в качестве "необходимых для вывода" и "не являющихся необходимыми для вывода" и процессом освобождения. Подобно H.264/AVC, HEVC также использует значения РОС для задания порядка вывода изображения. Значение POC в HEVC представлено переменной PicOrderCntVal, где изображения выводятся в порядке возрастания PicOrderCntVal.

HEVC, однако, не обладает MMCO или процессом скользящего окна. Вместо этого, HEVC точно определяет, что список изображений, которые маркированы в качестве "используемых для ссылки", явно отправляется в каждом заголовке слайса. Маркирование изображения в HEVC использует этот список и гарантирует, что все изображения в DPB, которые перечислены, маркируются в качестве "используемых для ссылки" и, что все изображения в DPB, которые не перечислены, маркируются в качестве "неиспользуемых для ссылки". Список называется набором опорных (ссылочных) изображений (RPS) и отправка одного в каждом заголовке слайса означает, что состояние маркирования опорного изображения в DPB является явным и повторяется в каждом слайсе, что не имеет место в H.264/AVC.

Поскольку RPS используются в HEVC, процесс маркирования изображения, процесс вывода изображения и процесс освобождения все осуществляются после анализа заголовка первого слайса изображения, см. Фиг. 5.

Функциональность num_reorder_frames, как описано для H.264/AVC, также представлена в HEVC. Битовый поток HEVC содержит синтаксический элемент для каждого временного уровня, обозначаемый max_num_reorder_pics[ i ], где i является временным уровнем. Функция max_num_reorder_pics[ i ] является такой же как num_reorder_frames, но каждое кодовое слово здесь указывает максимально допустимое число изображений в том же самом или более низком временном уровне, который предшествует изображению в порядке декодирования и следует за этим изображением в порядке вывода.

Рассмотрим пример на Фиг. 6, где порядок декодирования представляет собой A, B, C, D, E и порядок вывода представляет собой A, D, C, E, B. Он представляет собой структуру изображений, которая использует временные уровни, где изображения A и B принадлежат к низшему временному уровню (уровню 0), изображение C принадлежит к среднему временному уровню (уровню 1) и изображения D и E принадлежат к высшему временному уровню (уровню 2). Стрелки на фигуре показывают, какие изображения используются для ссылки другими изображениями. Например, изображение A используется для ссылки изображением B, поскольку имеется стрелка от изображения A к изображению B. Лучшим применением max_num_reorder_pics в HEVC является установить его настолько малым, насколько это возможно, для сокращения задержки вывода насколько это возможно. Наименьшие возможные значения max_num_reorder_pics для каждого временного уровня показаны на Фиг. 6. Причина 0 для низшего уровня состоит в том, что в уровне 0 отсутствует изображение, которое предшествует какому-либо изображению в порядке декодирования, но следует за ним в порядке вывода. Для уровня 1 мы имеем изображение B, которое предшествует изображению C в порядке декодирования, но следует за ним в порядке вывода, и для уровня 2 мы имеем изображения B и C, которые оба предшествуют изображению D в порядке декодирования, но следуют за ним в порядке вывода.

Если декодер знает, что он будет декодировать только временной уровень 0, потенциально он может выводить изображение B как только оно будет декодировано, но если декодер декодирует все уровни, он не может. Тогда ему придется ожидать до появления двух декодированных изображений, которые следуют за B в порядке вывода.

JCTVC-K0030_v3, Предложенное редакционное улучшение для проекта 8 текстовой спецификации Высокоэффективного Видеокодирования (HEVC), Bross и другие, JCT-VC ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 11-ое Заседание: Шанхай, 10-19 октября 2012, которое опубликовано 12 сентября 2012, обсуждает использование max_num_reorder_pics в разделе 7.4.2.1 на странице 62 и разделе 7.4.2.2 на странице 64.

no_output_of_prior_pics_flag

И битовый поток H.264, и битовый поток HEVC точно определяют флаг, называемый no_output_of_prior_pics_flag. Этот флаг представляет в заголовке слайса изображений произвольного доступа (RAP). Изображения произвольного доступа являются изображениями, с которых возможно встроиться в поток. Они гарантируют, что декодирование будущих изображений может быть осуществлено корректно, если декодер начинает декодирование от точки произвольного доступа. Декодеру не необходимости обеспечивать какие-либо данные, содержащие изображения, которые предшествуют изображению произвольного доступа в порядке декодирования, для настройки работы.

no_output_of_prior_pics_flag точно определяет, как ранее декодированные изображения в буфере декодированных изображений обрабатываются после декодирования изображения произвольного доступа. Короче говоря, если no_output_of_prior_pics_flag равен 1, никакие изображения в DPB, которые маркированы в качестве "необходимых для вывода", не должны быть выведены, но если no_output_of_prior_pics_flag равен 0, они должны быть выведены.

Рассмотрим Фиг. 7, которая показывает пример, где max_num_reorder_pics равен 0 и изображение C является изображением произвольного доступа с no_output_of_prior_pics_flag равным 1. В H.264, было бы возможно вывести изображение B незамедлительно после того как оно было декодировано. В текущей спецификации HEVC дело обстоит не так, поскольку декодер не знает незамедлительно после того как изображение B было декодировано, является ли изображение C изображением RAP с no_output_of_prior_pics_flag равным 1 или нет. Если изображение C не является таким изображением, изображение B может быть выведено незамедлительно после того как оно было декодировано. Но если изображение C в самом деле является изображением RAP с no_output_of_prior_pics_flag равным 1, изображение B не должно быть выведено, поскольку изображение B маркируется в качестве "необходимого для вывода", когда декодируется заголовок слайса изображения C.

Поскольку процесс вывода изображения в HEVC осуществляется, когда анализируется заголовок слайса, а no_output_of_prior_pics_flag является важной особенностью, в текущем стандарте HEVC есть более высокая задержка вывода, чем в H.264/AVC.

Информация об использовании no_output_of_prior_pics_flag раскрыта в разделе 7.4.7.1 на странице 75 и в разделе C.5.2 на странице 26 в JCTVC-K0030_v3.

Преимущество использования RPS в HEVC заключается в том, что оно является гораздо более устойчивым к ошибкам по сравнению со способом H.264/AVC. Также, временная масштабируемость является более простой. Проблема с решением HEVC заключается в том, что оно вводит дополнительную задержку относительно вывода изображения в сравнении с H.264/AVC. В H.264/AVC, изображения могут быть выведены после того как изображение было декодировано. В HEVC, декодер должен ожидать анализа заголовка слайса следующего изображения до тех пор, пока не будут выведены изображения. Это вызывает задержку.

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

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

Главной целью является обеспечение улучшенного декодирования и кодирования изображений видеопоследовательности.

Конкретной целью является обеспечение такого декодирования и кодирования, которое обеспечивает возможность малой задержки вывода для изображений.

Как раскрыто в этом документе, эти и другие цели достигаются вариантами осуществления.

Аспект вариантов осуществления относится к способу, выполняемому декодером. Способ содержит определение, после того как текущее изображение было декодировано и сохранено в буфере декодированных изображений (DPB), некоторого числа изображений в DPB, которые маркированы в качестве необходимых для вывода. Способ также содержит сравнение числа со значением sps_max_num_reorder_pics[ HighestTid ]. HighestTid точно определяет наивысший уровень, который декодируется декодером видеопоследовательности. Способ дополнительно содержит вывод изображения, которое является первым изображением в порядке вывода изображений в DPB, которые маркированы в качестве необходимых для вывода, если число больше, чем значение. Изображение также маркируется в качестве не являющегося необходимым для вывода, если число больше, чем значение.

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

Другой связанный аспект вариантов осуществления определяет декодер, содержащий модуль определения числа для определения, после того как текущее изображение битового потока, представляющего изображения видеопоследовательности, было декодировано и сохранено в DPB, некоторого числа изображений в DPB, которые маркированы в качестве необходимых для вывода. Декодер также содержит модуль сравнения для сравнения числа со значением sps_max_num_reorder_pics[ HighestTid ]. Декодер дополнительно содержит модуль вывода для вывода изображения, которое является первым изображением в порядке вывода, из изображений в DPB, которые маркированы в качестве необходимых для вывода, если число больше, чем значение. Декодер дополнительно содержит модуль маркирования для маркирования изображения в качестве не являющегося необходимым для вывода, если число больше, чем значение.

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

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

Другой связанный аспект вариантов осуществления определяет кодер, содержащий модуль определения числа для определения, после того как текущее изображение было декодировано и сохранено в DPB, некоторого числа изображений в DPB, которые маркированы в качестве необходимых для вывода. Кодер также содержит модуль сравнения для сравнения числа со значением sps_max_num_reorder_pics[ HighestTid ]. Кодер дополнительно содержит модуль маркирования для маркирования изображения, которое является первым изображением в порядке вывода, из изображений в DPB, которые маркированы в качестве необходимых для вывода, в качестве не являющегося необходимым для вывода, если число больше, чем значение.

Дополнительный аспект вариантов осуществления относится к способу, выполняемому декодером. Способ содержит анализ заголовка слайса текущего изображения, которое должно быть декодировано, видеопоследовательности. Способ также содержит определение набора опорных изображений (RPS) для текущего изображения на основании проанализированного заголовка слайса. Способ дополнительно содержит маркирование всех изображений в DPB, которые не представлены в RPS, в качестве неиспользуемых для ссылки. Ноль, одно или множество изображений, маркированных в качестве необходимых для вывода, из изображений в DPB, выводятся и маркируются в качестве не являющихся необходимыми для вывода. Способ также содержит выгрузку какого-либо изображения, из DPB, маркированного в качестве неиспользуемого для ссылки и не являющегося необходимым для вывода, из изображений в DPB. Способ дополнительно содержит декодирование текущего изображения и определение некоторого числа изображений в DPB, которые маркированы в качестве необходимых для вывода. Число сравнивается со значением, полученным из по меньшей мере одного синтаксического элемента, представленного в битовом потоке, представляющем изображения видеопоследовательности. Если число больше, чем значение, изображение, которое является первым изображением в порядке вывода, из изображений в DPB, которые маркированы в качестве необходимых для вывода, выводится и маркируется в качестве не являющегося необходимым для вывода. В варианте осуществления, определение числа изображений, сравнение числа, вывод изображения и маркирование изображения выполняются после декодирования текущего изображения.

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

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

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

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

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

Дополнительные аспекты вариантов осуществления относятся к мобильному терминалу, содержащему декодер, согласно вышеуказанному, и/или кодер, согласно вышеуказанному, и сетевому узлу, содержащему декодер, согласно вышеуказанному, и/или кодер, согласно вышеуказанному.

Краткое описание чертежей

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

Фиг. 1 представляет собой схематический общий вид декодера H.264/AVC.

Фиг. 2 иллюстрирует порядок декодирования и вывода для примера многоуровневой видеопоследовательности.

Фиг. 3 представляет собой упрощенную блок-схему последовательности операций декодирования H.264/AVC.

Фиг. 4 иллюстрирует порядок декодирования и вывода для примера многоуровневой видеопоследовательности.

Фиг. 5 представляет собой упрощенную блок-схему последовательности операций декодирования HEVC.

Фиг. 6 иллюстрирует порядок декодирования и вывода и временные уровни для примера многоуровневой видеопоследовательности.

Фиг. 7 иллюстрирует порядок декодирования и вывода для примера видеопоследовательности.

Фиг. 8 представляет собой блок-схему последовательности операций способа, выполняемого декодером, согласно варианту осуществления.

Фиг. 9 представляет собой блок-схему последовательности операций дополнительных, необязательных этапов способа по Фиг. 8.

Фиг. 10 представляет собой блок-схему последовательности операций дополнительного, необязательного этапа способа по Фиг. 8.

Фиг. 11 представляет собой блок-схему последовательности операций способа, выполняемого декодером согласно другому варианту осуществления.

Фиг. 12 представляет собой блок-схему последовательности операций дополнительных, необязательных этапов способа по Фиг. 9 или 11.

Фиг. 13 представляет собой блок-схему последовательности операций дополнительного, необязательного этапа способа по Фиг. 8 или 11.

Фиг. 14 представляет собой упрощенную блок-схему последовательности операций декодирования варианта осуществления.

Фиг. 15 представляет собой упрощенную блок-схему последовательности операций декодирования другого варианта осуществления.

Фиг. 16 представляет собой схематическую блок-схему декодера согласно варианту осуществления.

Фиг. 17 представляет собой схематическую блок-схему декодера согласно другому варианту осуществления.

Фиг. 18 представляет собой схематическую блок-схему декодера согласно дополнительному варианту осуществления.

Фиг. 19 представляет собой схематическую блок-схему декодера согласно еще одному варианту осуществления.

Фиг. 20 представляет собой схематическую блок-схему декодера согласно дополнительному варианту осуществления.

Фиг. 21 представляет собой блок-схему последовательности операций способа, выполняемого кодером, согласно варианту осуществления.

Фиг. 22 представляет собой блок-схему последовательности операций способа, выполняемого кодером, согласно другому варианту осуществления.

Фиг. 23 представляет собой схематическую блок-схему кодера согласно варианту осуществления.

Фиг. 24 представляет собой схематическую блок-схему кодера согласно другому варианту осуществления.

Фиг. 25 пред