Кодирование и декодирование видео с повышенной устойчивостью к ошибкам

Иллюстрации

Показать все

Изобретение относится к области обработки цифрового сигнала и, в частности, к области сжатия видеосигнала с использованием компенсации движения. Технический результат - снижение пространственных и временных избыточностей в видеопотоках. Для этого способ кодирования содержит получение целевого количества предсказателей информации движения, подлежащих использованию для кодируемого участка изображения, и генерацию набора предсказателей информации движения с использованием полученного целевого количества. Набор генерируется посредством: получения первого набора предсказателей информации движения, каждый из которых связан с участком изображения, имеющим заранее определенное пространственное и/или временное соотношение с кодируемым участком изображения; модификации первого набора предсказателей информации движения путем удаления дублированных предсказателей информации движения для получения сокращенного набора предсказателей информации движения, содержащего первое количество предсказателей информации движения, причем каждый предсказатель информации движения из сокращенного набора отличается от любого другого предсказателя информации движения из сокращенного набора; сравнения первого количества предсказателей информации движения с целевым количеством полученный, и если первое количество меньше целевого количества, получения дополнительного предсказателя информации движения и его добавления в сокращенный набор предсказателей информации движения. 6 н. и 20 з.п. ф-лы, 8 ил.

Реферат

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

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

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

Предшествующий уровень техники

Многие форматы сжатия видеосигнала, например H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC, используют блочное дискретное косинусное преобразование (DCT) и компенсацию движения для устранения пространственных и временных избыточностей. Их можно именовать предсказательными форматами видео. Каждый кадр или изображение видеосигнала делится на срезы (слайсы), которые кодируются и могут декодироваться независимо. Срез обычно представляет собой прямоугольный участок кадра или, в более общем случае, участок кадра или кадр целиком. Кроме того, каждый срез делится на макроблоки (MB), и каждый макроблок дополнительно делится на блоки, обычно блоки 8x8 пикселей. Кодированные кадры бывают двух типов: кадры с временным прогнозированием (либо прогнозируемые на основании одного опорного кадра, так называемые P-кадры, либо прогнозируемые на основании двух опорных кадров, так называемые B-frames) и кадры без временного прогнозирования (так называемые интра-кадры или I-кадры).

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

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

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

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

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

В High Efficiency Video Coding (HEVC), в настоящее время находящемся на стадии стандартизации, было предложено использовать множество предсказателей вектора движения, что схематически показано на фиг. 1: 3 так называемых пространственных предсказателя (предиктора) V1, V2 и V3 вектора движения, взятых из блоков, расположенных в окрестности кодируемого блока, медианный предсказатель вектора движения, вычисляемый на основании компонент трех пространственных предсказателей V1, V2 и V3 вектора движения, и временной предсказатель V0 вектора движения, который представляет собой вектор движения совмещенного блока в предыдущем изображении последовательности (например, блока изображения N-1, расположенного в той же пространственной позиции, что и блок 'кодируемый' изображения N). В настоящее время в HEVC 3 пространственных предсказателя вектора движения берутся из блока, расположенного слева от кодируемого блока (V3), блока, расположенного над ним (V2), и одного из блоков, расположенных на соответствующих углах кодируемого блока, согласно заранее определенному правилу доступности. Эта схема выбора предсказателя вектора движения называется Advanced Motion Vector Prediction (AMVP). В примере, показанном на фиг. 1, выбирается вектор V1 блока, расположенного выше и влево.

В итоге, получается набор из 5 предсказателей-кандидатов вектора движения, состоящий из пространственных предсказателей и временных предсказателей. Для снижения издержек сигнализации предсказателя вектора движения в битовом потоке, набор предсказателей вектора движения сокращается за счет исключения дублированных векторов движения, т.е. векторов движения, имеющих одно и то же значение. Например, как показано на фиг. 1, V1 и V2 равны, и V0 и V3 также равны, поэтому только два из них должны остаться в качестве предсказателей-кандидатов вектора движения, например V0 и V1. В этом случае, только один бит необходим для указания декодеру индекса предсказателя вектора движения.

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

В итоге, кодирование векторов движения отличием от предсказателя вектора движения, совместно с сокращением количества предсказателей-кандидатов вектора движения дает выигрыш в сжатии. Однако, как объяснено выше, для данного кодируемого блока, сокращение количества предсказателей-кандидатов вектора движения основано на значениях, принимаемых предсказателями вектора движения из набора, в частности, значениях векторов движения соседних блоков и вектора движения совмещенного блока. Также, декодер должен быть способен применять такой же анализ набора возможных предсказателей вектора движения, что и кодер, для получения количества битов, используемых для указания выбранного предсказателя вектора движения и должен быть способен декодировать индекс предсказателя вектора движения и, наконец, декодировать вектор движения с использованием принятого остаточного вектора движения. Согласно примеру, приведенному на фиг. 1, набор предсказателей вектора движения блока 'кодируемый' сокращается кодером до V0 и V1, благодаря чему, индекс кодируется одним-единственным битом. Если блок 'совмещенный' изображения N-1 утрачивается в ходе передачи, декодер не может получить значение V0 и, таким образом, не может обнаружить, что V0 и V3 равны. Таким образом, декодер не может узнать, сколько битов использовалось для кодирования индекса предсказателя вектора движения для блока 'кодируемый' и, следовательно, декодер не может правильно анализировать данные для среза, поскольку он не может найти, где заканчивается кодирование индекса и где начинается кодирование видеоданных.

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

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

В документе JCTVC-C166r1, 'TE11: Study on motion vector coding (experiment 3.3a and 3.3c)' за авторством K. Sato, опубликованном на 3-й встрече Joint Collaborative Team on Video Coding (JTC-VC) в Гуанчжоу, 7-15 октября 2010 г., предложено использовать только пространственные предсказатели вектора движения, приходящие из одного и того же среза в наборе предсказателей. Это решение решает проблему анализа на декодере в случае потерь срезов. Однако эффективность кодирования значительно снижается, поскольку временной предсказатель вектора движения больше не используется. Таким образом, это решение не является удовлетворительным в отношении показателей сжатия.

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

Желательно устранить один или более недостатков, присущих уровню техники.

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

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

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

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

причем этап генерации содержит подэтапы, на которых:

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

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

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

- если упомянутое первое количество меньше упомянутого целевого количества,

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

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

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

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

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

причем этап генерации содержит подэтапы, на которых:

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

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

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

- если упомянутое первое количество меньше упомянутого целевого количества,

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

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

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

причем устройство содержит:

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

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

причем средство генерации содержит:

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

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

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

- если упомянутое первое количество меньше упомянутого целевого количества,

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

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

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

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

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

причем средство генерации содержит:

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

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

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

- если упомянутое первое количество меньше упомянутого целевого количества,

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

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

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

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

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

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

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

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

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

- если упомянутое первое количество меньше упомянутого целевого количества,

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

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

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

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

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

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

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

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

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

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

- если упомянутое первое количество меньше упомянутого целевого количества,

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

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

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

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

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

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

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

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

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

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

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

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

- если упомянутое первое количество меньше упомянутого целевого количества,

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

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

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

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

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

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

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

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

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

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

- если упомянутое первое количество меньше упомянутого целевого количества,

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

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

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

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

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

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

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

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

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

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

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

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

Согласно варианту осуществления, способ кодирования дополнительно содержит этапы, на которых:

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

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

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

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

Согласно варианту осуществлен