Способы кодирования и декодирования блока изображения, соответствующие устройства и поток данных

Иллюстрации

Показать все

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

Реферат

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

Раскрыт способ декодирования блока изображения из особого реконструированного опорного изображения. Раскрыты также соответствующий способ кодирования и соответствующие устройства кодирования и декодирования.

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

В ходе потоковой передачи видеосигнала, доступная полоса может изменяться с течением времени. В результате, исходящую битовую скорость потокового приложения необходимо регулировать для согласования с доступной полосой в реальном времени во избежание перегрузки. Одним способом обеспечения регулировок битовой скорости в реальном времени является использование кодера реального времени, но для этого требуется выделять каждому клиенту отдельную систему кодирования, что может быть неприемлемо в случае большого числа клиентов, например, для услуг VOD. Другим способом обеспечения регулировок битовой скорости в реальном времени является использование масштабируемого видеокодирования. В масштабируемом кодировании, источник видеосигнала кодируется в несколько слоев. В ходе передачи для регулировки исходящей битовой скорости сервер выбирает слои, подлежащие отправке (режим “push”) или декодер запрашивает слои, подлежащие отправке (режим “pull”). Способ пригоден для потоковой передачи по разнородным каналам, но масштабируемое видеокодирование снижает общую эффективность сжатия и повышает вычислительную сложность кодера и декодера по сравнению с однослойным видеокодированием. Простой способ реализации регулировки битовой скорости состоит в кодировании нескольких версий одной и той же видеопоследовательности. Эти версии имеют разные уровни разрешения и/или качества и, таким образом, разные битовые скорости. В ходе потоковой передачи, когда необходимо регулировать исходящую битовую скорость, поток подлежащий передаче, можно динамически переключать с одной версии на другую для согласования с требованием полосы или возможностями пользователя как изображено на фиг. 1. Это решение называется “переключением потоков”. Однако непосредственное переключение между потоками в случае изображений, кодированных с внешним предсказанием (P- или B-изображений) может приводить к рассогласованию реконструированных опорных изображений и неправильной реконструкции изображений. Качество реконструированного видео может значительно снижаться. Один способ решения проблемы состоит в использовании точек произвольного доступа (RAP) в битовом потоке (обычно I-изображений или IDR-изображений или CRA-изображений). IDR расшифровывается как “мгновенное обновление декодера” и CRA как “чистый произвольный доступ“. Поскольку переключение может происходить только в этих RAP, RAP необходимо часто назначать в битовом потоке для реализации быстрого переключения потоков. Однако кодирование таких I/IDR-изображений вносит существенные издержки по битовой скорости. Кроме того, изображения после RAP, которая использует реконструированные опорные изображения, находящиеся до RAP, либо пропускаются, либо декодируются неправильно, поскольку они используют реконструированное(ые) опорное(ые) изображение(я), которое(ые) отличае(ю)тся от изображения(й), используемого(ых) при кодировании, как изображено на фиг. 2. Согласно фиг. 2, Ic реконструируется из реконструированного опорного изображения I1 и I2 во время его кодирования из реконструированного опорного изображения i1 и i2.

В AVC предусмотрены особые типы изображения (SI/SP), которые позволяют идентично реконструировать изображение из другого потока и, таким образом, облегчают переключение потоков. Видеоизображения, таким образом, кодируются в точках переключения в SP-изображения, а не в изображения, кодированные с внутренним предсказанием, как изображено на фиг. 3. Эффективность кодирования SP-изображений выше, чем для изображений, кодированных с внутренним предсказанием, но они все же менее эффективны, чем обычные P-изображения. Поэтому общая эффективность кодирования все же снижается в случае назначения большого количества точек переключения.

В документе автора Zhou и др. под названием “Efficient bit stream switching of H.264 coded video”, опубликованном в Proceedings of SPIE vol. 5909 (2005), раскрыто решение, позволяющее выполнять переключение в любое время без существенных издержек по битовой скорости. Решение обеспечено только для GOP-структуры IPPP. Помимо нескольких версий одной и той же видеопоследовательности на разной битовой скорости, изображение DIFF кодируется для реконструированного опорного изображения текущего изображения, на котором происходит переключение, как изображено на фиг. 4. Изображение DIFF является разностью реконструированного опорного изображения текущего изображения и соответствующего по времени изображения в другом потоке. Разностное изображение передается на декодер для компенсации рассогласования. Поскольку изображение DIFF передается только когда происходит переключение, как упомянуто на странице 5 документа, издержки по битовой скорости, вносимые вышеописанной схемой, малы. С другой стороны, решение пригодно только для P-изображения, предсказываемого из единичного реконструированного опорного изображения. Кроме того, это решение требует, чтобы порядок кодирования и порядок отображения были идентичны.

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

Раскрыт способ декодирования блока изображения. Способ содержит:

- декодирование, по меньшей мере, одного потока S_diff в декодированные данные и в одну информацию для идентификации реконструированного опорного изображения в буфере изображений декодера;

- реконструкция особого опорного изображения из, по меньшей мере, идентифицированного реконструированного опорного изображения и из декодированных данных;

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

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

Согласно частной характеристике, первый слой является базовым слоем.

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

Раскрыт также способ кодирования блока изображения. Способ кодирования дополнительно содержит:

- кодирование блока изображения из, по меньшей мере, одного реконструированного опорного изображения; и

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

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

Согласно частной характеристике, первый слой является базовым слоем.

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

Устройство декодирования для декодирования блока изображения раскрыто. Устройство декодирования содержит:

- средство для декодирования, по меньшей мере, одного потока S_diff в декодированные данные и в одну информацию для идентификации реконструированного опорного изображения в буфере изображений декодера;

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

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

Устройство декодирования выполнено с возможностью выполнения этапов способа декодирования.

Устройство кодирования для кодирования блока изображения раскрыто. Устройство кодирования содержит:

- кодирование блока изображения из, по меньшей мере, одного реконструированного опорного изображения; и

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

Устройство кодирования выполнено с возможностью выполнения этапов способа кодирования.

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

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

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

фиг. 1 и 2 демонстрируют общие принципы переключения потоков;

фиг. 3 демонстрирует принципы переключения потоков с использованием SI/SP-изображений согласно уровню техники;

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

фиг. 5 изображает блок-схему операций способа декодирования согласно изобретению;

фиг. 6 изображает блок-схему операций способа кодирования согласно изобретению;

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

фиг. 8 демонстрирует дополнительный вариант осуществления способа декодирования согласно изобретению;

фиг. 9 изображает кодер многослойного видео согласно изобретению;

фиг. 10 изображает декодер многослойного видео согласно изобретению; и

фиг. 11 представляет многослойный поток согласно изобретению.

5. Подробное описание изобретения

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

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

Термин “остаток” означает данные, полученные после вычитания предсказателя из исходных данных.

Термин “реконструкция” означает данные (например, пиксели, блоки), полученные после объединения остатка с предсказателем. Объединение, в общем случае, представляет собой сумму предсказателя с остатком. Однако объединение является более общим и, в особенности, содержит дополнительный постфильтрационный каскад реконструированных выборок и/или дополнительный этап добавления смещений к реконструированным выборкам. После реконструкции опорного изображения, оно сохраняется в DPB (расшифровывается как “буфер изображений декодера“) как вновь реконструированное опорное изображение.

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

Термин "кодирование" следует понимать в самом широком смысле. Кодирование, возможно, содержит применение преобразования и/или квантования данных. Оно также может означать только энтропийное кодирование. Примером такого преобразования DCT является ("дискретное косинусное преобразование). Таким же образом, термин "декодирование", возможно, содержит, помимо энтропийного декодирования, применение преобразования и/или обратного квантования. Преобразование, применяемое на стороне декодера, является преобразованием, обратным применяемому на стороне кодера.

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

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

AU (расшифровывается как “единица доступа”) представляет собой набор единиц NAL, связанных друг с другом согласно заданному правилу классификации, которые располагаются последовательно в порядке декодирования и содержат в точности одно кодированное изображение. Декодирование единицы доступа всегда дает декодированное изображение.

Блоки, представленные на фиг. 5 и 6, являются чисто функциональными сущностями, которые не обязательно соответствуют физически разделенным сущностям. Как очевидно специалисту в данной области техники, аспекты настоящих принципов можно реализовать в виде системы, способа или компьютерно-считываемого носителя. Соответственно, аспекты настоящих принципов могут принимать форму полностью аппаратного варианта осуществления, полностью программный вариант осуществления (включающий в себя программно-аппаратное обеспечение, резидентное программное обеспечение, микрокод и т.д.), или вариант осуществления, объединяющий программные и аппаратные аспекты, которые все в общем случае именуются здесь “схемой”, “модулем” или “системой”. Кроме того, аспекты настоящих принципов может принимать форму компьютерно-считываемого носителя данных. Можно использовать любую комбинацию одного или более компьютерно-считываемых носителей данных.

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

Фиг. 5 изображает блок-схему операций способа декодирования согласно конкретному и неограничительному варианту осуществления. Способ предусматривает декодирование текущего блока Bc изображения, кодированного в потоке S. Блок Bc изображения принадлежит слайсу Sc текущего изображения Ic. Слайс входит в состав изображения, например набора блоков изображения.

На этапе 10, по меньшей мере, один поток S_diff декодируется в декодированные данные (например, остатки и режимы кодирования) и в информацию INFO для идентификации реконструированного опорного изображения R2, хранящегося в DPB.

На этапе 12, особое опорное изображение (сокращенно SRP) R1' реконструируется из идентифицированного реконструированного опорного изображения R2 и из декодированных данных. Затем особое опорное изображение помещается в DPB. Это опорное изображение R1' является особым, поскольку оно никогда не отображается, но используются только для реконструкции блоков в других изображениях. Реконструкция SRP R1' содержит, для каждого блока изображения R1', определение предсказателя и добавление остатка. Предсказатель можно определить из идентифицированного реконструированного опорного изображения R2 (либо в качестве блока в R2, совмещенном с Bc, или в качестве блока, подвергнутого компенсации движения, в R2, таким образом, идентифицированном вектором движения) или из соседних реконструированных выборок R1', как в классическом внутреннем предсказании. Блок в R2 совмещен с Bc, если его пространственное положение в R2 идентично пространственному положению Bc в Ic. Согласно варианту, если размер реконструированного опорного изображения R2 отличается от размера текущего изображения Ic, то R2 повторно масштабируется для реконструкции особого опорного изображения благодаря чему, повторно масштабированное изображение R2 (возможно с надлежащим заполнением) имеет такой же размер, как Ic. В этом случае, R1' реконструируется из F(R2), где F – фильтр повторного масштабирования. Поток S_diff может быть частью потока S или может быть независимым от потока S.

В порядке примера, поток S_diff кодирует попиксельную разность между другим реконструированным опорным изображением R1, отличным от R2, и реконструированным опорным изображением R2. R1, например, является реконструированным опорным изображением, из которого кодируется текущий блок Bc изображения. В этом случае, декодирование потока S_diff содержит декодирование разностного изображения DIFF обычно посредством энтропийного декодирования, обратного квантования и преобразования. Преобразованием является, например, обратное DCT. Разностное изображение обычно является приближением разности между реконструированным опорным изображением R1 и реконструированным опорным изображением R2. Приближение обусловлено потерей в ходе кодирования (например, вследствие квантования). В случае беспотерьного кодирования разностного изображения DIFF, декодированное разностное изображение DIFF равно разности между реконструированным опорным изображением R1 и реконструированным опорным изображением R2. Согласно варианту, если R1 и R2 имеют разные размеры, разностное изображение является разностью между реконструированным опорным изображением R1 и повторно масштабированным реконструированным опорным изображением R2. В порядке примера, если R2 больше R1, то R2 масштабируется с понижением, и если R2 меньше R1, то R2 масштабируется с повышением. В этом случае, особое опорное изображение R1' равно F(R2)+DIFF, F является тождественным преобразованием, если R2 и Ic имеют одинаковый размер, или, в противном случае, F является функцией повторного масштабирования.

Согласно варианту, способ декодирования дополнительно содержит необязательное декодирование знака, связанного с разностным изображением DIFF. Если такой знак декодируется, особое опорное изображение R1' равно F(R2)+DIFF, когда знак положителен, и равно F(R2)-DIFF, когда знак отрицателен.

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

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

Декодирование информации INFO позволяет обрабатывать разные случаи использования. В порядке примера, если текущий блок Bc изображения кодируется из двух реконструированных опорных изображений R1 и r1, то два особых опорных изображения R1' и r1' и две информация INFO и info декодируются на этапе 10. Особые опорные изображения R1' и r1' соответствуют, соответственно, R2 и r2, где R2 и r2 – два реконструированных опорных изображения, хранящиеся в DPB, откуда Bc подлежит реконструкции. В результате, INFO указывает декодеру, что R1' подлежит реконструкции из R2, тогда как info указывает, что r1' подлежит реконструкции из r2.

Каждое особое изображение идентифицируется, например, в потоке S_diff выделенным флагом, указывающим тип изображения/слайса, отличный от классического типа изображения/слайса I, P, B. Этот тип изображения/слайса указывает, что текущая AU содержит особое опорное изображение, которое не отображается. Согласно варианту, каждое особое изображение идентифицируется выделенным флагом в заголовке слайса.

Согласно варианту, типом слайса изображения является I, P или B, но особый флаг в заголовке слайса указывает, что реконструированное изображение не отображается, но сохраняется как опорное в DPB.

Информация INFO для идентификации в DPB реконструированного опорного изображения R2, представляет собой, например, POC (расшифровывается как “счетчик порядка изображений”), определенный в документе ISO/IEC 14496-10 (раздел 3.104). Согласно варианту, информация для идентификации реконструированного опорного изображения является индексом реконструированного опорного изображения.

На этапе 16, текущий блок Bc изображения реконструируется из особого опорного изображения R1'. Обычно, поскольку особое опорное изображение ближе в отношении содержимого к R1, чем R2, дрейф уменьшается. Обычно, реконструкция блока изображения содержит декодирование остатка из потока S и добавление остатка в предсказатель. Остаток может быть нулевым в случае режима пропуска. Декодирование остатка содержит энтропийное декодирование, обратное квантование и применение преобразования, обратного преобразованию, применяемому на стороне кодера. Эти этапы общеизвестны специалистам в области сжатия/кодирования видеосигнала и дополнительно не раскрыты. Опорный блок в особом опорном изображении R1' идентифицируется вектором движения, декодированным из потока S. Опорный блок используется в качестве предсказателя. В случае би-предсказания, два опорных блока идентифицируются в двух реконструированных опорных изображениях, которые, возможно, являются одним и тем же реконструированным опорным изображением. Предсказатель представляет собой взвешенную сумму этих двух опорных блоков. Если Bc би-предсказывается из двух опорных блоков, принадлежащих двум реконструированным опорным изображениям R2 и r2, которые могут отличаться от реконструированных опорных изображений R1 и r1, используемых при кодировании, то два SRP R1' и r1' можно реконструировать. Таким образом, особые опорные изображения R1' и r1' используются как опорные изображения для Bc. Bc также может быть реконструирован из одного особого опорного изображения R1' и из r1, если r1 доступно в DPB при реконструкции Bc. INFO и знак можно декодировать для каждого особого опорного изображения (в заголовке слайса или в заголовке сегмента слайса) или можно группировать для нескольких особых опорных изображений в одном единственном заголовке. INFO и знак декодируются, например, из сообщения SEI, VPS (набора параметров видео HEVC) или из заголовка слайса Sc.

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

На этапе 20, текущий блок Bc изображения кодируется из, по меньшей мере, одного первого реконструированного опорного изображения R1 в потоке S. Обычно кодирование текущего блока изображения содержит определение остатка, преобразование остатка и квантование преобразованного остатка в квантованные данные. Квантованные данные дополнительно подвергаются энтропийному кодированию в потоке S. Остаток получается вычитанием предсказателя из текущего блока Bc изображения. Предсказатель определяется из первого реконструированного опорного изображения R1. Точнее говоря, предсказатель определяется в реконструированном опорном изображении R1 на основании вектора движения. Если текущий блок би-предсказывается из двух опорных блоков, предсказатель получается усреднением этих двух опорных блоков. Два опорных блока принадлежат либо двум разным реконструированным опорным изображениям R1 и r1, либо одному и тому же реконструированному опорному изображению. Векторы движения также кодируются в потоке S. Эти этапы общеизвестны специалистам в области сжатия видеосигнала и дополнительно не раскрыты.

На этапе 24, реконструированное опорное изображение R1 и информация INFO кодируются в поток S_diff. Декодирование S_diff дает SRP. Поток S_diff может быть частью потока S или может быть независимым от потока S. Реконструированное опорное изображение R1 кодируется в S_diff из второго реконструированного опорного изображения R2, отличного от R1, идентифицируемого INFO. Согласно варианту, если размер реконструированного опорного изображения R2 отличается от размера текущего изображения Ic и, таким образом, от размера R1, то R2 повторно масштабируется для кодирования реконструированного опорного изображения R1, благодаря чему, повторно масштабированное изображение R2 (возможно с надлежащим заполнением) имеет такой же размер, как Ic. В этом случае, R1 кодируется из F(R2), где F – фильтр повторного масштабирования.

В порядке примера, поток S_diff кодирует попиксельную разность DIFF между R1 и R2. Изображение DIFF кодируется посредством преобразования (например, с использованием DCT), квантования и энтропийного кодирования. Согласно варианту, если R1 и R2 имеют разные размеры, разностное изображение является разностью между реконструированным опорным изображением R1 и повторно масштабированным вторым реконструированным опорным изображением R2. В порядке примера, если R2 больше R1, то R2 масштабируется с понижением, и если R2 меньше R1, то R2 масштабируется с повышением. В этом случае, DIFF=R1-F(R2), F является тождественной функцией, когда R2 и Ic имеют одинаковый размер, и в противном случае является функцией повторного масштабирования.

Согласно варианту, способ декодирования дополнительно содержит необязательное декодирование знака, связанного с разностным изображением. Если такой знак декодируется, особое опорное изображение R1' равно F(R2)+DIFF, когда знак положителен, и равно F(R2)-DIFF, когда знак отрицателен.

Согласно другому варианту, поток S_diff кодирует для некоторых блоков R1 разность между этими блоками и блоками в R2 (т.е. либо блоками, совмещенными с Bc, либо с блоками, подвергнутыми компенсации движения). Другие блоки R1 кодируются в S_diff с использованием классического внутреннего предсказания, т.е. из соседних реконструированных выборок.

Кодирование информации INFO позволяет обрабатывать другой случай использования. В порядке примера, если текущий блок Bc изображения кодируется из двух реконструированных опорных изображений R1 и r1, то два реконструированных опорных изображения кодируются из двух других реконструированных опорных изображений R2 и r2. INFO указывает декодеру, что особое опорное изображение R1’ подлежит реконструкции из R2, тогда как info указывает, что другое особое опорное изображение r1’ подлежит реконструкции из r2. Каждое особое опорное изображение идентифицируется, например, в потоке S_diff выделенным флагом, указывающим тип изображения/слайса, отличный от классического типа изображения/слайса I, P, B. Этот тип изображения/слайса указывает, что текущая AU является особым опорным изображением, который подлежит использованию для замены изображения в DPB. Согласно варианту, каждое особое изображение идентифицируется выделенным флагом в заголовке слайса.

Согласно варианту, типом слайса изображения является I, P или B, но особый флаг в заголовке слайса указывает, что реконструированное изображение не отображается, но сохраняется как опорное в DPB.

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

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

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

INFO и знак декодируются, например, из сообщения SEI, VPS (набора параметров видео HEVC) или из заголовка слайса Sc.

Согласно варианту, способы кодирования и декодирования используются в отношении переключения потоков, как показано на фиг. 7. В этом случае, первая последовательность изображений кодируется в потоке S0. Вторая последовательность изображений кодируется в потоке S1. Обычно вторая последовательность изображений идентична первой последовательности, но кодирована на другой битовой скорости, т.е. с использованием другого шага квантования. Согласно варианту, вторая последовательность изображений является повторно масштабированной версией первой последовательности, т.е. либо масштабированной с повышением, либо масштабированной с понижением версией. Согласно конкретному варианту осуществления, S0 и S1 имеют одинаковую GOP-структуру (т.е. такой же порядок декодирования и такие же списки опорных изображений, как определенные в разделах 8.3.1 и 8.3.2 стандарта HEVC).

Помимо потоков S0 и S1, в каждый момент времени tn реконструированное опорное изображение S1 дополнительно кодируется в потоке S_diff как SRP из соответствующего по времени, т.е. выровненного по времени, (например, с идентичным счетчиком порядка изображений) реконструированного опорного изображения S0, как изображено на фиг. 7. Реконструированное опорное изображение кодируется в S_diff с информацией info_tn для идентификации соответствующего реконструированного опорного изображения . Заметим, что исходное изображение, которое соответствует , кодируется в S1, и исходное изображение, которое соответствует , кодируется в S0.

Способ декодирования, раскрытый со ссылкой на фиг. 5, используется для декодирования блока Bc изображения после переключения из первого потока S0 во второй поток S1. Согласно фиг. 7, изображения декодируются и отображаются из потока S0 до времени t2. Переключение происходит между t2 и t3. После переключения изображения декодируются и отображаются из потока S1. Во время переключения DBP0 содержит несколько реконструированных опорных изображений, декодированных из S0. DPB0 связан с S0. Согласно фиг. 7, DPB0 содержит три реконструированных опорных изображения , и во время переключения.

На этапе 10, S_diff1, S_diff2 и S_diff3 декодируются в декодированные данные (например, остатки и режимы кодирования) и в информацию info_t0, info_t1, info_t2, идентифицирующую реконструированные опорные изображения , и , хранящиеся в DPB0.

На этапе 12, три особых опорных изображения SRP_t0, SRP_t1, SRP_t2 реконструируются из соответствующих декодированных данных и из соответствующих реконструированных опорных изображений , и . Затем реконструированные SRP сохраняются в DPB1, (возможно) отличном от DPB0. DPB1 связан с S1. Согласно первому конкретному варианту осуществления, S_diff кодирует попиксельную разность между и соответствующим по времени изображением , возможно, повторно масштабированным. В этом случае, реконструированные SRP представляют собой SRP_t0= +, SRP_t1= +, SRP_t2= +, где , , декодируются из S_diff. При необходимости,