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

Иллюстрации

Показать все

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

Реферат

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

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

УРОВЕНЬ ТЕХНИКИ

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

Стандарт высокоэффективного кодирования видео (HEVC) является новым стандартом кодирования видео, в данный момент разрабатываемым в объединенной группе для совместной работы над видеостандартами (JCT-VC). JCT-VC является совместным проектом MPEG и Сектора стандартизации связи международного союза по телекоммуникациям (ITU-T). В настоящее время определен рабочий проект (WD), который включает в себя большие макроблоки (сокращенно LCU для наибольших единиц кодирования) и ряд других новых инструментальных средств и является значительно более эффективным, чем 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 обнаруживается, "несуществующие" кадры создаются и вставляются в буфер декодированных изображений (DPB).

Независимо от того, имеется или нет пропуск в 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 Пометка всех опорных изображений как "неиспользуемых для ссылки" и задание переменной MaxLongTermFrameldx как "нет индексов долговременных кадров"
6 Пометка текущего изображения как "используемого для долговременной ссылки" и назначение ему индекса долговременного кадра

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

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

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

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

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

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

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

Аспект вариантов осуществления относится к способу декодирования кодированного представления изображения видеопотока из нескольких изображений.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 6 является блок-схемой последовательности операций для дополнительного, необязательного этапа способа на фиг. 3;

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

Фиг. 8 является примером структуры кодирования с размером (суб-)GOP 8;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кодирование видео, к примеру, представленное посредством 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 долговременного изображения.

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

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

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

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

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

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

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

Примеры таких идентификаторов изображений включают в себя номер в последовательности изображений (POC), номер (frame_num) кадра или POC и дополнительный идентификатор (additional_picture_id).

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

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

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

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

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

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

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

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

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

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

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

Способ по фиг. 3 с этапами S1-S4 предпочтительно выполняется для каждого изображения в видеопотоке, за исключением изображений на основе мгновенного обновления декодера (IDR), которые приводят к обновлению буфера декодированных изображений и в силу этого не требуют информации описания буфера, что схематично иллюстрируется посредством линии L2. Следовательно, каждое кодированное представление, сформированное посредством кодера, предпочтительно переносит информацию описания буфера, задающую опорные изображения, используемые для кодирования и декодирования текущего изображения и/или любого последующего изображения в видеопотоке.

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

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

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

Альтернативный подход, который, в общем, является более эффективным по битам, т.е., в общем, требует меньшего числа битов или символов для задания идентификаторов изображений, заключается в том, чтобы сигнализировать свойства опорных изображений, т.е. идентификаторы изображений, относительно значения этих свойств, сигнализируемых для текущего изображения. Например, если текущее изображение имеет идентификатор 7 изображения, список опорных изображений с идентификаторами 3, 5 и 6 может задаваться как -1, -2 и -4, что типично может представляться посредством меньшего числа битов по сравнению с 3, 5 и 6, в частности, если кодирование переменной длины используется для идентификаторов изображений.

Фиг. 6 схематично иллюстрирует этот подход. Способ продолжается от этапа S2 по фиг. 3. На следующем этапе S10 разность вычисляется для каждого идентификатора изображения, предоставленного на этапе S2, между идентификатором изображения и идентификатором изображения, идентифицирующим текущее изображение. В результате этого вычисления получается разностный или дельта-идентификатор либо значение. Способ затем переходит к этапу S3 по фиг. 3, на котором информация описания буфера формируется на основе вычисленного разностного или дельта-идентификатора(ов).

Следовательно, информация описания буфера в этом случае может включать в себя дельта-идентификаторы -1, -2 и -4 вместо 3, 5 и 6.

В варианте осуществления дельта-информация порядка отображения, или deltaPOC, включается в описание буфера, кодированное с помощью кода переменной длины (VLC). В конкретном варианте осуществления deltaPOC кодируется с помощью VLC для abso