Сигнализация опорного изображения

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

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

Высокоэффективное кодирование видеоизображений (HEVC) является новым стандартом кодирования видеоизображений, в настоящий момент разрабатываемым в Объединенной группе совместных работ по кодированию видео (JCT-VC). JCT-VC является совместным проектом между MPEG и сектором стандартизации телекоммуникаций Международного союза электросвязи (ITU-T). В настоящий момент определен Рабочий проект (WD), который включает в себя большие макроблоки (сокращенно обозначаемые «LCU» от «Largest Coding Units» (наибольшие единицы кодирования)) и ряд других новых инструментальных средств, и является значительно более эффективным, чем H.264/AVC.

В приемнике декодер принимает битовый поток, представляющий изображения, то есть пакеты видеоданных из сжатых данных. Сжатые данные содержат полезную нагрузку и управляющую информацию. Управляющая информация содержит, например, информацию о том, какие опорные изображения следует сохранять в буфере декодированных изображений (DPB), также именуемом буфером опорных изображений. Эта информация является относительной ссылкой на предшествующие принятые изображения. Затем декодер декодирует принятый битовый поток и отображает декодированное изображение. Кроме того, декодированные изображения сохраняются в буфере декодированных изображений согласно управляющей информации. Эти сохраненные опорные изображения используются декодером при декодировании последующих изображений.

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

До фактического декодирования изображения поле frame_num (номер кадра) в заголовке фрагмента синтаксически анализируется для обнаружения возможного пропуска в frame_num, если синтаксическим элементом gaps_in_frame_num_value_allowed_flag (флаг разрешения пропусков в значении номеров кадров) множества значений параметров последовательности (SPS) является 1. Элемент frame_num указывает порядок декодирования. При обнаружении пропуска в frame_num "несуществующие" кадры создают и вставляют в буфер декодированных изображений.

Независимо от того, был ли пропуск в frame_num или нет, следующим этапом является фактическое декодирование текущего изображения. Если заголовки фрагментов в изображении содержат команды «управляющие операции управления памятью» (MMCO), процесс адаптивного управления памятью применяется после декодирования изображения, чтобы получить относительную ссылку на изображения, подлежащие сохранению в буфере декодированных изображений; иначе применяется процесс «скользящего окна», чтобы получить относительную ссылку на изображения, подлежащие сохранению в буфере декодированных изображений. В качестве заключительного этапа применяется процесс "выталкивания", чтобы доставлять изображения в правильном порядке.

Проблемой стандарта H.264/AVC является его уязвимость к потерям изображений, которые содержат MMCO типа 2, 3, 4, 5 или 6, как описано в Таблице 1 ниже.

Таблица 1
Значения управляющей операции управления памятью для H.264/AVC
memory_management_control_operation Управляющая операция управления памятью
0 Конец цикла синтаксического элемента memory_management_control_operation
1 Пометить кратковременное опорное изображение как "неиспользуемое для опорного"
2 Пометить долговременное опорное изображение как "неиспользуемое для опорного"
3 Пометить кратковременное опорное изображение как "используемое для долговременного опорного" и назначить ему индекс долговременного кадра
4 Указать максимальный индекс долговременного кадра и пометить все долговременные опорные изображения, имеющие индекс долговременного кадра больше, чем максимальное значение, как "неиспользуемые для опорного"
5 Пометить все опорные изображения как "неиспользуемые для опорного" и установить переменную MaxLongTermFrameIdx в "нет индексов долговременных кадров"
6 Пометить текущее изображение как "используемое для долговременного опорного" и назначить ему индекс долговременного кадра

Потеря изображения, которое не содержит MMCO, или изображения, которое содержит MMCO типа 0 или 1, несомненно, является серьезной для процесса декодирования. Значения пикселов для потерянного изображения не будут доступными и могут влиять на будущие изображения в течение длительного периода времени вследствие некорректного межкадрового предсказания. Также существует риск, что перечни опорных изображений для некоторого числа изображений, следующих за потерянным изображением, будут некорректными, например, если потерянное изображение содержало MMCO, которая пометила одно кратковременное опорное изображение как "неиспользуемое для опорного", которое иначе было бы включено в перечень опорных изображений для последующего изображения. Однако, процесс декодирования может обычно восстанавливать такую потерю посредством использования ограниченных блоков с внутренним кодированием, фрагментов с внутренним кодированием или другими средствами.

Но если теряется изображение, содержащее MMCO типа 2, 3, 4, 5 или 6, существует риск, что количество долговременных изображений в DPB отличается от того, каким было бы при приеме изображения, приводя к "некорректному" процессу скользящего окна для всех последующих изображений. То есть, кодер и декодер будут содержать различное число кратковременных изображений, приводя к асинхронному поведению процесса скользящего окна. Эту потерю нельзя восстановить посредством использования ограниченных блоков с внутренним кодированием, фрагментов с внутренним кодированием или подобных способов (даже и открытым изображением с внутренним кодированием Группы изображений (GOP)). Единственным способом обеспечить восстановление после такой потери - посредством изображения с Мгновенным обновлением при декодировании (IDR) или посредством MMCO, которая аннулирует эффект потерянной MMCO. Ситуацию еще более ухудшает то, что декодер не всегда будет иметь сведения, что процесс скользящего окна не синхронизирован, и таким образом не сможет выдать отчет о проблеме на кодер или запросить IDR изображение даже в приложениях, где канал обратной связи является доступным.

Один способ снижения риска потери важной информации MMCO состоит в использовании сообщений dec_ref_pic_marking_repetition (повторная пометка опорного изображения для декодирования) Дополнительной информации о расширении (SEI). Однако кодер не будет иметь сведения, способен ли декодер использовать SEI сообщения dec_ref_pic_marking_repetition. Кроме того, существует риск, что SEI сообщение dec_ref_pic_marking_repetition также потеряется.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

Это и другие задачи выполняются согласно вариантам осуществления, раскрытым в документе.

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

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 1 - упрощенная блок-схема для схемы буфера ссылок по H.264/AVC;

Фиг. 2 - блок-схема способа декодирования кодированного представления изображения согласно варианту осуществления;

Фиг. 3 - видеопоток множества изображений согласно варианту осуществления;

Фиг. 4 - кодированное представление изображения согласно варианту осуществления;

Фиг. 5 - блок-схема этапа определения идентификатора первого изображения на Фиг. 2 согласно варианту осуществления;

Фиг. 6 - блок-схема этапа вычисления на Фиг. 5 и этапа определения идентификатора изображения на Фиг. 2 согласно варианту осуществления;

Фиг. 7 - блок-схема этапа определения идентификатора первого изображения и этапа определения идентификатора изображения по Фиг. 2 согласно варианту осуществления;

Фиг. 8 - блок-схема дополнительных, необязательных этапов способа по Фиг. 2;

Фиг. 9 - упрощенная блок-схема для схемы буфера ссылок согласно варианту осуществления;

Фиг. 10 - блок-схема способа кодирования изображения согласно варианту осуществления;

Фиг. 11 - блок-схема этапа определения информации идентификатора первого изображения и этапа определения информации идентификатора изображения по Фиг. 10 согласно варианту осуществления;

Фиг. 12 - блок-схема этапов S50 - S53 по Фиг. 10 согласно варианту осуществления;

Фиг. 13 - блок-схема дополнительного, необязательного этапа способа по Фиг. 10;

Фиг. 14 - структурная схема приемника согласно варианту осуществления;

Фиг. 15 - структурная схема декодера согласно варианту осуществления;

Фиг. 16 - структурная схема определителя идентификатора изображения по Фиг. 16 согласно варианту осуществления;

Фиг. 17 - структурная схема декодера согласно другому варианту осуществления;

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

Фиг. 19 - структурная схема кодера согласно варианту осуществления;

Фиг. 20 - структурная схема определителя информации по Фиг. 19 согласно варианту осуществления; и

Фиг. 21 - структурная схема кодера согласно другому варианту осуществления.

ПОДРОБНОЕ ОПИСАНИЕ

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

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

Кодирование видеоизображений, такое как представлено согласно H.264/MPEG-4 AVC и HEVC, использует опорные изображения в качестве предсказаний или ссылок для кодирования и декодирования данных пикселов для текущего изображения. Это обычно в области техники называется «межкадровое кодирование», где изображение кодируется и декодируется относительно таких опорных изображений. Для способности декодировать кодированное изображение, декодер, таким образом, должен иметь сведения, какие опорные изображения использовать для текущего кодированного изображения, и должен иметь доступ к этим опорным изображениям. Обычно декодер использует буфер декодированных изображений (DPB), также именуемый «буфер опорных изображений», чтобы сохранять опорные изображения. Тогда является важным, чтобы опорные изображения, сохраненные в буфере декодированных изображений, были действительно корректными опорными изображениями при декодировании кодированного изображения, иначе декодер будет использовать некорректные опорные изображения в течение процесса декодирования, вызывая ухудшение качества представляемого видеоизображения.

Способы предшествующего уровня техники могут испытывать трудности относительно использования некорректных опорных изображений, когда изображение, несущее информацию MMCO, неумышленно теряется, что было обсуждено в параграфе уровня техники. Эту трудность предшествующего уровня техники можно проиллюстрировать следующим реализованным в H.264 примером. Можно допустить, что буфер декодированных изображений хранит три кратковременных изображения с идентификаторами 300, 302 и 303 изображений и два долговременных изображения с идентификаторами 0 и 3 изображений. Кодер затем может формировать новое кодированное изображение с помощью MMCO команды типа 2, устанавливающей, что долговременное изображение 0 следует пометить как "неиспользуемое для опорного". Если это кодированное изображение будет корректно принято в декодере, долговременное изображение 0 будет помечено как неиспользуемое для опорного, и перечнем опорных изображений, следовательно, вместо этого будет {300, 302, 303, 3}. Однако, если теряется кодированное изображение с MMCO командой типа 2, то декодер не информируется, что долговременное изображение 0 должно помечаться как неиспользуемое для опорного, и перечнем опорных изображений взамен будет {300, 302, 303, 0, 3}. Если следующее кодированное изображение, принятое в декодере, содержит информацию, что опорное изображение в позиции 3 в перечне опорных изображений подлежит использованию в качестве предсказания для макроблока в изображении, то будет проблема, если потеряна MMCO команда типа 2. Если MMCO команда типа 2 была корректно принята в декодере, опорное изображение в позиции 3 в перечне опорных изображений будет соответствовать долговременному изображению 3, поскольку это опорное изображение занимает позицию 3 (если начинать с 0) в перечне опорных изображений. Однако, при потерянной MMCO команде типа 2 позиция 3 в перечне опорных изображений вместо этого будет занята долговременным изображением 0. Это означает, что данные пикселов из долговременного изображения 0 будут использоваться в качестве базиса предсказания вместо корректных данных пиксела по идентификатору 3 долговременного изображения.

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

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

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

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

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

В таком подходе опорное изображение сигнализируется в описании буфера дельта идентификатором изображения, deltaPOC, относительно текущего изображения. Идентификатор изображения, POC(ref), для опорного изображения затем вычисляется в виде POC(ref)=POC(currPic)+deltaPOC, где POC(currPic) представляет идентификатор изображения для текущего изображения.

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

Например, можно допустить описание буфера, где все опорные изображения имеют отрицательные дельта идентификаторы изображения. Кроме того можно допустить, что первое опорное изображение в описании буфера для текущего изображения имеет дельта идентификатор изображения deltaPOC= -1, который кодируется одним битом при использовании кода переменной длины, такого как беззнаковый код переменной длины (UVLC). Дельта идентификатор изображения, соответствующий -1, затем будет самым коротким кодовым словом для следующего опорного изображения. Однако, если вышеупомянутое ограничение должно применяться к описаниям буфера, такое значение -1, представленное одним битом, является запрещенным для следующего опорного изображения, поскольку уже имеется опорное изображение с таким кодовым словом в описании буфера. Таким образом, второе опорное изображение в описании буфера должно тогда использовать, по меньшей мере, три бита, чтобы представить свой дельта идентификатор изображения, используя UVLC.

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

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

Таким образом, варианты осуществления используют порядок, в котором опорные изображения следуют в описании буфера. Следовательно, при декодировании идентификатора изображения для опорного изображения с индексом i в описании буфера, используют идентификатор(ы) изображения из уже декодированного опорного изображения(ий) в описании буфера. Это дает возможность снижения стоимости в битах битового потока для сигнализации идентификаторов изображения для опорного изображения с индексом i.

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

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

На Фиг. 4 схематично иллюстрируется пример кодированного представления 60 изображения. Кодированное представление 60 содержит данные 66 полезной нагрузки видео, которые представляют кодированные данные пикселов для блоков пикселов в фрагменте. Кодированное представление 60 также содержит заголовок 65 фрагмента, несущий управляющую информацию. Заголовок 65 фрагмента образует вместе с полезной нагрузкой видео и заголовком 64 Уровня сетевой абстракции (NAL) единичный элемент NAL, который представляет объект, являющийся выводимым из кодера. К этому элементу NAL могут добавляться дополнительные заголовки, такие как заголовок 63 Протокола передачи данных в реальном времени (RTP), заголовок 62 Протокола пользовательских дейтаграмм (UDP) и заголовок 61 протокола Internet (IP), чтобы сформировать пакет данных, который может передаваться из кодера на декодер. Эта форма пакетирования элементов NAL просто составляет пример применительно к транспорту видеоданных. Другие подходы для обработки элементов NAL, такие как файловый формат, транспортные потоки стандарта MPEG-2, программные потоки стандарта MPEG-2, и т.д. являются возможными.

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

Информация описания буфера, извлеченная на этапе S1, идентифицирует описание буфера, также называемое набором параметров опорных изображений (RPS), которое задает параметры множества опорных изображений. Следовательно, описание буфера задает опорные изображения, которые используются в качестве опорного при декодировании для текущего изображения, подлежащего декодированию. Это означает, что данные пикселов текущего изображения декодируются со ссылкой на одно или более опорных изображений. Альтернативно, или в дополнение, по меньшей мере, одно опорное изображение, заданное описанием буфера, может использоваться в качестве опорного при декодировании для последующего изображения в видеопотоке, то есть, изображения, подлежащего декодированию после текущего изображения. Таким образом, описание буфера задает все опорные изображения, которые находятся до текущего изображения в порядке декодирования, и которые могут использоваться для межкадрового предсказания для текущего изображения или любого изображения, называемого «последующее изображение» в документе, следующего после текущего изображения в соответствии с порядком декодирования.

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

На Фиг. 3 схематично иллюстрируется эта идея показом видеопотока 1 нескольких изображений 10, 40, 42, 50. Текущее изображение 10 может содержать один или более фрагментов 20, 22, содержащих блоки 30 пикселов, такие как макроблоки, также называемые древовидными блоками (treeblocks), или единицы кодирования, подлежащие декодированию. Стрелки ниже изображений 10, 40, 42, 50 указывают отношения декодирования. Текущее изображение 10 декодируется относительно предшествующего опорного изображения 40 и последующего опорного изображения 42. Предшествующее опорное изображение 40 является предшествующим, и последующее опорное изображение 42 является последующим по отношению к текущему изображению 10 в соответствии с порядком вывода, но оба являются предшествующими текущему изображению 10 в соответствии с порядком декодирования. Это последующее опорное изображение 42 кроме того используется в качестве опорного изображения для последующего, в соответствии с порядком декодирования, изображения 50 в видеопотоке 1.

Следующий необязательный, но предпочтительный этап S2 Фиг. 2 будет дополнительно описан ниже.

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

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

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