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

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

Info

Publication number
RU2651181C2
RU2651181C2 RU2016136342A RU2016136342A RU2651181C2 RU 2651181 C2 RU2651181 C2 RU 2651181C2 RU 2016136342 A RU2016136342 A RU 2016136342A RU 2016136342 A RU2016136342 A RU 2016136342A RU 2651181 C2 RU2651181 C2 RU 2651181C2
Authority
RU
Russia
Prior art keywords
motion vectors
image
motion
motion vector
predictors
Prior art date
Application number
RU2016136342A
Other languages
English (en)
Other versions
RU2016136342A (ru
RU2016136342A3 (ru
Inventor
Кристоф ЖИСКЕ
Гийом Ларош
Original Assignee
Кэнон Кабусики Кайся
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Кэнон Кабусики Кайся filed Critical Кэнон Кабусики Кайся
Publication of RU2016136342A publication Critical patent/RU2016136342A/ru
Publication of RU2016136342A3 publication Critical patent/RU2016136342A3/ru
Application granted granted Critical
Publication of RU2651181C2 publication Critical patent/RU2651181C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

Область техники, к которой относится изобретение
Изобретение относится к способу и устройству для кодирования последовательности цифровых изображений и к способу и устройству для декодирования соответствующего битового потока.
Изобретение относится к области обработки цифрового сигнала и, в частности, к области сжатия видеосигнала с использованием компенсации движения для снижения пространственных и временных избыточностей в видеопотоках.
Предшествующий уровень техники
Многие форматы сжатия видеосигнала, например 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. Например, если осуществляется сокращение начального набора и количество начальных предсказателей, удаляемых в процессе сокращения заранее неизвестно, вариант осуществления настоящего изобретения можно использовать, чтобы гарантировать, что окончательный набор предсказателей информации движения состоит из целевого количества предсказателей информации движения.
Согласно варианту осуществления, способ кодирования дополнительно содержит этапы, на которых:
- выбирают предсказатель информации движения для упомянутого кодируемого участка изображения из упомянутого сгенерированного набора предсказателей информации движения, и
- кодируют элемент информации, представляющий упомянутый выбранный предсказатель информации движения, на основании полученного упомянутого целевого количества.
Преимущественно, предсказатель информации движения можно выбирать для текущего кодируемого блока, и выбранный предсказатель вектора движения можно кодировать в зависимости от определенного количества предсказателей информации движения. Количество предсказателей информации движения может систематически извлекаться декодером, благодаря чему, кодированный битовый поток может систематически анализироваться на декодере даже в случае потерь.
Согласно варианту осуществления, элемент информации, представляющий упомянутый выбранный предсказатель вектора движения, является индексом выбранного предсказателя вектора движения в сгенерированном наборе предсказателей информации движения, и индекс кодируется количеством битов, зависящим от полученного упомянутого целевого количества.
Согласно варианту осуществления, на этапе получения целевого количества предсказателей информации движения, подлежащих использованию для упомянутого кодируемого участка изображения, упомянутое целевое количество задается равным заранее определенному значению для любого кодируемого участка изображения последовательности цифровых изображений.
Преимущество этого варианта осуществления состоит в том, что целевое количество предсказателей информации движения можно легко получить, без какого-либо вспомогательного вычисления или издержек сигнализации, на кодере или декодере.
Согласно другому варианту осуществления, на этапе получения целевого количества предсказателей информации движения, подлежащих использованию для упомянутого кодируемого участка изображения, упомянутое целевое количество определяется, для данного кодируемого участка изображения, в зависимости от информации кодирования упомянутого данного кодируемого участка изображения.
Преимущественно, такая информация кодирования может быть параметром кодирования, например, если изображения делятся на макроблоки переменного размера для обработки, размером макроблока, которому принадлежит кодируемый участок изображения. Такая информация кодирования также может быть, например, режимом кодирования, связанным с кодируемым участком изображения.
Согласно еще одному аспекту, изобретение относится к устройству для кодирования последовательности цифровых изображений в битовый поток, причем, по меньшей мере, один участок изображения кодируется посредством компенсации движения относительно опорного участка изображения. Устройство содержит, для, по меньшей мере, одного кодируемого участка изображения:
- средство для получения целевого количества предсказателей информации движения, подлежащих использованию для упомянутого кодируемого участка изображения, и
- средство для генерации набора предсказателей информации движения, состоящего из упомянутого целевого количества предсказателей информации движения, причем каждый предсказатель информации движения сгенерированного набора отличается от любого другого предсказателя информации движения из сгенерированного набора.
Согласно еще одному аспекту, изобретение также относится к компьютерному программному продукту, который можно загружать в программируемое устройство, содержащему последовательности инструкций для реализации способа кодирования последовательности цифровых изображений, кратко описанного выше, когда программа загружается в программируемое устройство и выполняется им. Такая компьютерная программа может быть транзиторной или нетранзиторной. В одной реализации, компьютерная программа может храниться на нетранзиторном (невременном) машиночитаемом носителе.
Конкретные характеристики и преимущества устройства для кодирования последовательности цифровых изображений, средства хранения и компьютерного программного продукта, аналогичны характеристикам и преимуществам способа кодирования цифрового видеосигнала, поэтому они здесь не повторяются.
Согласно еще одному аспекту, изобретение также относится к способу декодирования битового потока, содержащего кодированную последовательность цифровых изображений, причем, по меньшей мере, один участок изображения кодируется посредством компенсации движения относительно опорного изображения. Для, по меньшей мере, одного упомянутого декодируемого участка изображения, способ содержит этапы, на которых:
- получают целевое количество предсказателей информации движения, подлежащих использованию для упомянутого декодируемого участка изображения, и
- генерируют набор предсказателей информации движения, состоящий из упомянутого целевого количества предсказателей информации движения, причем каждый предсказатель информации движения сгенерированного набора отличается от любого другого предсказателя информации движения из сгенерированного набора.
Преимущество способа декодирования битового потока состоит в том, что он позволяет определять целевое количество предсказателей информации движения и использовать такое количество разных предсказателей информации движения. Целевое количество предсказателей информации движения можно систематически извлекать и, следовательно, битовый поток можно систематически анализировать, даже в случае ошибок передачи. Дополнительное преимущество состоит в том, что в любом случае, анализ битового потока упрощен и, в частности, проще, чем с применением традиционных способов, которые адаптивно сокращают количество предсказателей информации движения вместо того, чтобы использовать заранее определенное целевое количество, которое может быть получено декодером.
Согласно варианту осуществления, способ дополнительно содержит этап декодирования элемента информации, представляющего выбранный предсказатель информации движения для упомянутого декодируемого участка изображения на основании полученного упомянутого целевого количества.
Преимущественно, в случае кодирования, зависящего от количества предсказателей информации движения, примененных на кодере, элемент информации, представляющий выбранный предсказатель информации движения для упомянутого декодируемого участка изображения, можно систематически декодировать, даже в случае ошибок передачи.
Согласно еще одному аспекту, изобретение также относится к устройству для декодирования битового потока, содержащего кодированную последовательность цифровых изображений, причем, по меньшей мере, один участок изображения кодируется посредством компенсации движения относительно опорного участка изображения. Устройство содержит, для, по меньшей мере, одного упомянутого декодируемого участка изображения:
- средство для получения целевого количества предсказателей информации движения, подлежащих использованию для упомянутого декодируемого участка изображения, и
- средство для генерации набора предсказателей информации движения, состоящего из упомянутого целевого количества предсказателей информации движения, причем каждый предсказатель информации движения сгенерированного набора отличается от любого другого предсказателя информации движения из сгенерированного набора.
Согласно еще одному аспекту, изобретение также относится к средству хранения информации, которое может считываться компьютером или микропроцессором, причем это средство хранения является сменным, и на нем хранятся инструкции компьютерной программы для реализации способа декодирования битового потока, кратко описанного выше.
Согласно еще одному аспекту, изобретение также относится к компьютерному программному продукту, который можно загружать в программируемое устройство, содержащему последовательности инструкций для реализации способа декодирования битового потока, кратко описанного выше, когда программа загружается в программируемое устройство и выполняется им. Такая компьютерная программа может быть транзиторной или нетранзиторной. В одной реализации, компьютерная программа может храниться на нетранзиторном (невременном) машиночитаемом носителе.
Конкретные характеристики и преимущества устройства для декодирования битового потока, средства хранения и компьютерного программного продукта, аналогичны характеристикам и преимуществам способа декодирования, поэтому они здесь не повторяются.
Согласно другому аспекту настоящего изобретения предусмотрен способ кодирования последовательности цифровых изображений в битовый поток, причем, по меньшей мере, один участок изображения кодируется посредством компенсации движения относительно опорного участка изображения, причем способ содержит генерацию набора предсказателей информации движения, имеющих управляемое разнесение, и выбор предсказателя информации движения для упомянутого кодируемого участка изображения из упомянутого сгенерированного набора предсказателей информации движения.
Управляемое разнесение означает, что предсказатели информации движения набора отличаются друг от друга, но один или более из них с большой степенью статистического правдоподобия близок к фактической информации движения, в связи с чем, остаток (разность между фактической информацией движения и рассматриваемым предсказателем) мал и, следовательно, допускает эффективное сжатие.
Способ может содержать:
генерацию первых предсказателей информации движения;
идентификацию одного или более первых предсказателей информации движения в качестве затравочных предсказателей;
генерацию одного или более вторых предсказателей информации движения на основании затравочного(ых) предсказателя(ей); и
формирование упомянутого набора предсказателей информации движения из первых и/или вторых предсказателей информации движения.
В этом случае, первые предсказатели информации движения могут представлять собой предсказатели, от которых статистически ожидаются хорошие результаты в отношении эффективности сжатия. Вторые предсказатели информации движения, которые основаны на первых предсказателях, затем можно использовать для организованного или систематического исследования других предсказателей в пространстве предсказателей, соседствующих с первыми предсказателями. От таких предсказателей также можно ожидать хороших результатов, и чем больше предсказателей будет исследовано, тем больше вероятность найти хорошее совпадение с фактической информацией движения.
В одном варианте осуществления, по меньшей мере, один из первых предсказателей информации движения идентифицируется как такой затравочный предсказатель на основании важности рассматриваемого первого предсказателя информации движения.
Важность может зависеть от того, сколько раз рассматриваемый первый предсказатель информации движения появляется среди первых предсказателей информации движения. Чем больше раз появляется предсказатель, тем более важным он считается, и тем более вероятно, что он будет использован в наборе. Помимо поиска идентичных предсказателей (дубликатов), также может быть эффективным поиск близких совпадений.
Альтернативно, важность может зависеть от меры того, насколько рассматриваемый первый предсказатель информации движения представляет первые предсказатели информации движения в целом. Например, если первые предсказатели информации движения усредняются, разность или расстояние между средним предсказателем и данным первым предсказателем информации движения является мерой того, насколько данный предсказатель представляет первые предсказатели информации движения в целом.
Один способ управления разнесением состоит в генерации, по меньшей мере, одного упомянутого второго предсказателя информации движения путем прибавления или вычитания смещения от одного из упомянутых затравочных предсказателей. Смещение может быть фиксированным. Оно также может быть псевдослучайным значением при условии, что декодеру доступно то же затравочное (seed) значение, что и кодеру. Если затравочные предсказатели являются векторами, разнесение также можно управлять, прибавляя к затравочному предсказателю другой вектор, например фиксированной величины и заранее определенного направления относительно направления затравочного предсказателя.
Множество упомянутых вторых предсказателей информации движения можно генерировать на основании одного и того же упомянутого затравочного предсказателя. Если каждый из предсказателей информации движения являются векторами имеет компоненты X и Y, множество вторых предсказателей информации движения можно получить, прибавляя и/или вычитая смещения к/из одной или обеих упомянутых компонент одного и того же упомянутого затравочного предсказателя. Например, одно и то же смещение можно прибавлять к или вычитать из одного и того же затравочного предсказателя. Если затравочный предсказатель является вектором, имеющим компоненты X и Y, существует несколько перестановок прибавления/вычитания смещений к/из одной или обеих из компонент X и Y одного и того же затравочного предсказателя. Это также позволяет эффективно генерировать управляемое разнесение без большой обработочной нагрузки.
Другой способ управления разнесением предусматривает генерацию множества вторых предсказателей информации движения путем усреднения разных пар (или других комбинаций) первых предсказателей информации движения. Например, если первыми предсказателями информации движения являются V1, V2 и V3, три вторых предсказателей информации движения можно сформировать из средних V1 & V2, V2 & V3 и V3 & V1. Также можно формировать различные взвешенные комбинации одних и тех же первых предсказателей информации движения в качестве разных вторых предсказателей информации движения.
Первые предсказатели информации движения могут представлять собой или включать в себя предсказатели информации движения, каждый из которых связан с участком изображения, имеющим заранее определенное пространственное и/или временное соотношение с кодируемым участком изображения. Например, предсказатели информации движения, используемые в AMVP, могут быть первыми предсказателями информации движения. Это хороший источник затравочных предсказателей.
В другом варианте осуществления способ содержит:
генерацию первых предсказателей информации движения;
проверку разностей между генерируемыми первыми предсказателями информации движения; и
исключение из упомянутого набора предсказателей информации движения одного или более первых предсказателей информации движения на основании разностей.
С учетом разностей между первыми предсказателями информации движения можно управлять разнесением предсказателей информации движения набора. В этом случае ее требуется идентифицировать затравочные предсказатели среди первых предсказателей информации движения и генерировать вторые предсказатели информации движения на основании затравочных предсказателей. Это может быть эффективно, например, если первоначально имеется достаточно большое количество первых предсказателей информации движения.
Например, согласно способу управления разнесением, первый предсказатель информации движения, имеющий наименьшее отличие от другого первого предсказателя информации движения можно удалить. При необходимости, процесс можно повторять, чтобы последовательно удалять все менее разнесенные предсказатели.
Важно заметить, что в этом аспекте изобретения, количество предсказателей информации движения в упомянутом наборе может быть переменным.
Однако, согласно другому основному аспекту настоящего изобретения, количество предсказателей информации движения в упомянутом наборе может быть заранее определенным, по меньшей мере, для данного кодируемого участка изображения или даже для всех участков изображения (целевое количество). Это позволяет не только достигать управляемого разнесения между предсказателями набора, но и решать проблему анализа, указанную во введении.
Этот аспект изобретения также предусматривает соответствующий способ декодирования и соответствующие устройства кодирования и декодирования, а также программы, согласно которым осуществляются кодирование и декодирование.
Согласно еще одному аспекту, изобретение относится к способу кодирования последовательности цифровых изображений в битовый поток, причем, по меньшей мере, один участок изображения кодируется посредством компенсации движения относительно опорного участка изображения. Способ содержит, для, по меньшей мере, одного кодируемого участка изображения, этапы, на которых:
- получают первый набор предсказателей вектора движения, подлежащих использованию для упомянутого кодируемого участка изображения, и
- генерируют второй набор предсказателей вектора движения из упомянутого первого набора предсказателей вектора движения, причем каждый предсказатель вектора движения сгенерированного набора отличается от любого другого предсказателя вектора движения из сгенерированного второго набора предсказателей вектора движения, причем, по меньшей мере, один предсказатель вектора движения из второго набора вычисляется из выбранного предсказателя вектора движения первого набора.
Преимущественно, сгенерированный второй набор предсказателей вектора движения используется для кодирования вектора движения, связанного с кодируемым участком изображения. Второй набор предсказателей вектора движения содержит множество разных предсказателей вектора движения, которые генерируются (и, возможно, выбираются) для повышения эффективности сжатия.
Согласно варианту осуществления, предсказатель вектора движения первого набора выбирается на этапе выбора согласно значению важности.
Согласно варианту осуществления, способ кодирования содержит этап вычисления значения важности, связанного с каждым предсказателем вектора движения первого набора.
Согласно варианту осуществления, предсказатель вектора движения первого набора выбирается на этапе выбора согласно расстоянию между предсказателями вектора движения первого набора.
Различные варианты осуществления для выбора предсказателя вектора движения для генерации других дополнительных или виртуальных предсказателей вектора движения позволяют применять выбор управляемого разнесения, который имеет преимущество в повышении эффективности сжатия. Действительно, использование предсказателей вектора движения, вычисляемых из важных предсказателей вектора движения начального набора, позволяет более точно представлять вектор движения текущего кодируемого участка изображения. Опять же, не существенно иметь фиксированное или целевое количество предсказателей в окончательном наборе.
Согласно варианту осуществления, предсказатели вектора движения из первого набора предсказателей вектора движения являются векторами движения, связанными с участки изображения для кодирования кодируемого изображения и/или опорного изображения. Первый набор может состоять из, или включать в себя, предсказатели, используемые в AMVP.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Другие признаки и преимущества явствуют из нижеследующего описания, которое приведено исключительно в порядке неограничительного примера со ссылкой на прилагаемые чертежи, в которых:
- фиг. 1, ранее описанный, схематически иллюстрирует набор предсказателей вектора движения, используемый в схеме прогнозирования векторов движения;
- фиг. 2 - схема устройства обработки, предназначенного для реализации варианта осуществления настоящего изобретения;
- фиг. 3 - блок схема кодера согласно варианту осуществления изобретения;
- фиг. 4 - блок схема декодера согласно варианту осуществления изобретения;
- фиг. 5 детализирует определение набора предсказателей вектора движения согласно первому варианту осуществления;
- фиг. 6 детализирует определение набора предсказателей вектора движения согласно второму варианту осуществления;
- фиг. 7 иллюстрирует схематически второй набор предсказателей вектора движения;
- фиг. 8 иллюстрирует схематически векторы движения в системе координат.
Подробное описание вариантов осуществления
Фиг. 2 иллюстрирует схему устройства 1000 обработки, предназначенного для реализации одного варианта осуществления настоящего изобретения. Устройством 1000 является, например, микрокомпьютер, рабочая станция или легкое портативное устройство.
Устройство 1000 содержит шину 1113 связи, к которой, предпочтительно, подключены:
- центральный процессор 1111, например, микропроцессор, обозначенный ЦП (CPU);
- постоянная память 1107 способная содержать компьютерные программы для реализации изобретения, обозначенная ПЗУ (ROM);
- оперативная память 1112, обозначенная ОЗУ (RAM), способная содержать исполнимый код способа изобретения, а также регистры, предназначенные для записи переменных и параметров, необходимых для реализации способа кодирования последовательности цифровых изображений и/или способа декодирования битового потока; и
- интерфейс 1102 связи подключенный к сети 1103 связи, по которой передаются цифровые данные, подлежащие обработке.
В необязательном порядке, устройство 1000 также может иметь следующие компоненты:
- средство 1104 хранения данных, например, жесткий диск, способный содержать программы, реализующие изобретение, и данные, используемые или вырабатываемые в ходе реализации изобретения;
- дисковод 1105 для диска 1106, причем дисковод предназначен для считывания данных с диска 1106 или для записи данных на упомянутый диск;
- экран 1109 для отображения данных и/или обеспечения графического интерфейса с пользователем, посредством клавиатуры 1110 или любого другого указательного средства.
Устройство 1000 может быть подключено к различным периферийным устройствам, например, цифровой камере 1100 или микрофону 1108, каждый из которых подключен к карте ввода-вывода (не показана) для подачи мультимедийных данных на устройство 1000.
Шина связи обеспечивает связь и возможность взаимодействия между различными элементами, включенными в устройство 1000 или подключенными к нему. Представление шины не является ограничительным, и, в частности, центральный процессор способен передавать инструкции на любой элемент устройства 1000 непосредственно или посредством другого элемента устройства 1000.
Диск 1106 можно заменить любым носителем информации, например, компакт-диском (CD-ROM), перезаписываемым или нет, ZIP-диском или картой памяти, и, в общем случае, средством хранения информации, которое может считываться микрокомпьютером или микропроцессором, интегрированным или нет в устройство, возможно, сменным и предназначенным для хранения одной или более программ, выполнение которых позволяет реализовать способ кодирования последовательности цифровых изображений и/или способ декодирования битового потока согласно изобретению.
Исполнимый код может храниться в постоянной памяти 1107, на жестком диске 1104 или на сменном цифровом носителе, например, ранее описанном диске 1106. Согласно варианту, исполнимый код программы может приниматься посредством сети 1103 связи, через интерфейс 1102, для сохранения в одном из средств хранения устройства 1000, прежде чем он будет выполнен, например, на жестком диске 1104.
Центральный процессор 1111 предназначен для управления и руководства выполнением инструкций или участков программного кода программы или программ согласно изобретению, инструкций, которые хранятся в одном из вышеупомянутых средств хранения. При включении питания, программа или программы, которые хранятся в энергонезависимой памяти, например, на жестком диске 1104 или в постоянной памяти 1107, переносятся в оперативную память 1112, которая затем содержит исполнимый код программы или программ, а также регистры для хранения переменных и параметров, необходимых для реализации изобретения.
В этом варианте осуществления, устройство является программируемым устройством, которое использует программное обеспечение для реализации изобретения. Однако, альтернативно, настоящее изобретение можно реализовать аппаратными средствами (например, в форме специализированной интегральной схемы или ASIC).
Фиг. 3 иллюстрирует блок схему кодера согласно варианту осуществления изобретения. Кодер представлен соединенными модулями, причем каждый модуль предназначен для реализации, например в форме инструкций программирования, подлежащих выполнению на ЦП 1111 устройства 1000, соответствующего этапа способа, реализующего вариант осуществления изобретения.
Исходная последовательность цифровых изображений с i0 по in 301 принимается в качестве входного сигнала кодером 30. Каждое цифровое изображение представляется набором выборок, известных как пиксели.
Битовый поток 310 выводится кодером 30.
Битовый поток 310 содержит множество единиц кодирования или срезов, причем каждый срез содержит заголовок среза для кодирования значений параметров кодирования, используемых для кодирования среза, и тело среза, содержащее кодированные видеоданные.
Входные цифровые изображения делятся на блоки (302), причем блоки являются участками изображения и могут иметь переменные размеры (например, 4x4, 8x8, 16x16, 32x32). Для каждого входного блока выбирается режим кодирования. Существует два семейства режимов кодирования, кодирование с пространственным прогнозированием или интракодирование, и кодирование с временным прогнозированием или интеркодирование. Возможные режимы кодирования тестируются.
Модуль 303 реализует интрапрогнозирование, в котором данный кодируемый блок прогнозируется предсказателем, вычисленным из пикселей окрестности упомянутого кодируемого блока. Указание выбранного интрапредсказателя и разность между данным блоком и его предсказателем кодируется, если выбрано интракодирование.
Временное прогнозирование реализуется модулями 304 и 305. Прежде всего, выбирается опорное изображение из набора опорных изображений 316, и участок опорного изображения, также именуемый опорной областью, которая является областью, ближайшей к данному кодируемому блоку, выбирается модулем 304 оценивания движения. Разность между выбранной опорной областью и данным блоком, также именуемая остаточным блоков, вычисляется модулем 305 компенсации движения. Выбранная опорная область указывается вектором движения.
Информация относительно вектора движения и остаточного блока кодируется, если выбрано интерпрогнозирование. Для дополнительного снижения битовой скорости, вектор движения кодируется разностью относительно предсказателя вектора движения. Набор предсказателей вектора движения, также именуемых предсказателями информации движения, получается из поля 318 векторов движения модулем 317 прогнозирования и кодирования векторов движения.
Преимущественно, набор предсказателей вектора движения, используемый для выбора наилучшего предсказателя вектора движения для кодирования текущего вектора движения, генерируется, как объяснено более подробно ниже со ссылкой на фиг. 5 и 6. Для данного текущего кодируемого блока, устанавливается заранее определенное количество Nmax предсказателей вектора движения, и, следовательно, индекс выбранного предсказателя вектора движения, который является элементом информации, представляющим выбранный предсказатель вектора движения, можно кодировать с использованием заранее определенного количества битов. Это заранее определенное количество битов также может извлекаться декодером даже в случае потерь, что позволяет гарантировать, что декодер будет способен анализировать битовый поток даже в случае ошибок или потерь. Nmax предсказателей вектора движения выбираются согласно различным вариантам осуществления таким образом, чтобы все они отличались друг от друга, для повышения эффективности сжатия.
Выбор заранее определенного количества Nmax предсказателей вектора движения и соответствующего количества битов для кодирования индекса предсказателя вектора движения можно применять либо для всей последовательности, либо для группы изображений последовательности, либо на уровне блоков в зависимости от параметров кодирования, например, размера блока или режима кодирования. Например, первое заранее определенное количество Nmax1 предсказателей вектора движения можно использовать для блоков, кодированных с использованием интерпрогнозирования, при котором кодируется остаточный блок, и второе заранее определенное количество Nmax2 предсказателей вектора движения можно использовать для блоков, кодированных с использованием режима SKIP, когда кодируется только вектор движения, но не остаточный блок. Соответствующие количества Nmax1 и Nmax2 предсказателей вектора движения могут, например, сигнализироваться в битовом потоке путем их вставки в заголовок, например, заголовок среза, или в любое подходящее поле метаданных.
Кодер 30 дополнительно содержит модуль 306 выбора режима кодирования, который использует критерий стоимости кодирования, например, критерий скорости-искажения, для определения, какой из режима пространственного прогнозирования и режима временного прогнозирования является наилучшим. Преобразование 307 применяется к остаточному блоку, затем полученные преобразованные данные квантуются модулем 308 и статистически кодируются модулем 309. Наконец, кодированный остаточный блок текущего кодируемого блока вставляется в битовом потоке 310, совместно с информацией относительно используемого предсказателя. Для блоков, кодированных в режиме ‘SKIP’, в битовый поток кодируется только ссылка на предсказатель, без какого-либо остаточного блока.
Кодер 30 дополнительно осуществляет декодирование кодированного изображения для создания опорного изображения для оценивания движения последующих изображений. Модуль 311 осуществляет обратное квантование квантованных данных с последующим обратным преобразованием 312. Модуль 313 прогнозирования обратного движения использует информацию прогнозирования для определения, какой предсказатель использовать для данного блока, и модуль 314 компенсации обратного движения фактически добавляет остаток, полученный модулем 312, в опорную область, полученную из набора опорных изображений 316. В необязательном порядке, деблокирующий фильтр 315 применяется для устранения эффектов блокировки и повышения визуального качества декодированного изображения. Такой же деблокирующий фильтр применяется на декодере, благодаря чему, в отсутствие потери передачи, кодер и декодер применяют одну и ту же обработку.
Фиг. 4 иллюстрирует блок схему декодера согласно варианту осуществления изобретения. Декодер представлен соединенными модулями, причем каждый модуль предназначен для реализации, например в форме инструкций программирования, подлежащих выполнению на ЦП 1111 устройства 1000, соответствующего этапа способа, реализующего вариант осуществления изобретения.
Декодер 40 принимает битовый поток 401, содержащий единицы кодирования, каждая из которых состоит из заголовка, содержащего информацию о параметрах кодирования, и тела, содержащего кодированные видеоданные. Как объяснено со ссылкой на фиг. 3, кодированные видеоданные статистически кодируются, и индексы предсказателей вектора движения кодируются, для данного блока, заранее определенным количеством битов. Принятые кодированные видеоданные статистически декодируются (402), деквантуются (403), после чего применяется обратное преобразование (404).
В частности, когда принятые кодированные видеоданные соответствуют остаточному блоку текущего декодируемого блока, декодер также декодирует информацию прогнозирования движения из битового потока, чтобы найти опорную область, используемую кодером.
Модуль 410 применяет декодирование вектора движения для каждого текущего блока, кодированного посредством прогнозирования движения, содержащее определение количества Nmax используемых предсказателей вектора движения и извлечение индекса предсказателя вектора движения, кодированного количеством битов, зависящим от Nmax. Аналогично модулю 317, показанному на фиг. 3, модуль 410 декодирования вектора движения генерирует набор из Nmax предсказателей вектора движения. Варианты осуществления, объясненные ниже со ссылкой на фиг. 5 и 6, применяются аналогично. Если битовый поток принимается без потерь, декодер генерирует точно такой же набор предсказателей вектора движения, что и кодер. В случае потерь, может не представиться возможность сгенерировать набор предсказателей вектора движения, и, таким образом, правильно декодировать вектор движения, связанный с текущим блоком. Однако анализ битового потока всегда возможен, даже в случае потерь, поскольку количество битов, используемых для кодирования индекса предсказателя вектора движения, может систематически извлекаться декодером.
После получения индекса предсказателя вектора движения для текущего блока, если не происходит потерь, фактическое значение вектора движения, связанного с текущим блоком, можно декодировать и использовать для применения компенсации (406) обратного движения. Опорная область, указанная декодированным вектором движения, выделяется из опорного изображения (408) для окончательного применения компенсации 406 обратного движения.
В случае применения интрапрогнозирования, обратное интрапрогнозирование применяется модулем 405.
В итоге, получается декодированный блок. Деблокирующий фильтр 407 применяется аналогично деблокирующему фильтру 315, применяемому на кодере. Наконец, декодированный видеосигнал 409 обеспечивается декодером 40.
Фиг. 5 детализирует генерацию набора предсказателей вектора движения или векторов-кандидатов движения в первом варианте осуществления настоящего изобретения. Все этапы алгоритма, представленного на фиг. 5, могут быть реализованы программными средствами и выполняться центральным процессором 1111 устройства 1000.
Фиг. 5 представляет блок-схему операций, применяемую для данного текущего кодируемого блока, с которым связан вектор движения, указывающий опорную область в опорном изображении.
Прежде всего, на этапе S500 получается начальный набор L1 предсказателей вектора движения. Набор L1 состоит из N кандидатов. Согласно варианту осуществления, начальный набор предсказателей вектора движения содержит векторы-кандидаты движения, выбранные согласно схеме прогнозирования векторов движения AMVP, ранее описанной со ссылкой на фиг. 1, например векторы с V0 по V3 на фиг. 1 и медианный вектор, вычисленный из V1, V2 и V3. Соответственно, N равно максимум 5.
Предпочтительно, начальный набор L1 предсказателей вектора движения содержит только векторы движения, отличающиеся друг от друга. В примере, приведенном на фиг. 1, только векторы движения V0, V1 и медианный вектор должны оставаться в L1, и количество предсказателей вектора движения N=3.
В альтернативном варианте осуществления, можно применять любую другую схему для выбора ранее вычисленных векторов движения и вычисление других векторов движения из доступных (т.е. среднего, медианного и т.д.) для формирования начального набора L1 предсказателей вектора движения.
В еще одном альтернативном варианте осуществления, начальный набор L1 предсказателей вектора движения пуст, и N=0.
На следующем этапе S502, получается целевое количество Nmax используемых предсказателей-кандидатов вектора движения. Nmax может быть либо заранее определенным для всей последовательности кодируемых цифровых изображений, например Nmax=4, либо может выбираться согласно параметров кодирования текущего кодируемого блока или единицы кодирования (например, среза), которой принадлежит текущий кодируемый блок.
Например, количество Nmax может зависеть от размера преобразования, применяемого к макроблоку, которому принадлежит текущий обрабатываемый блок: например Nmax=p для преобразования, применяемого на блоке 2p+1x2p+1.
Согласно варианту осуществления, количество k битов, используемых для кодирования индекса предсказателя вектора движения, непосредственно связан с Nmax: k=INTsup(log2(Nmax)), где INTsup(x) - наименьшее целое число, превышающее значение x. Предпочтительно, Nmax должно быть степенью 2, Nmax=2k, чтобы можно было использовать все индексы, которые можно кодировать на k битах. Преимущественно, все биты, используемые для сигнализации, используются для указания множества предсказателей вектора движения и для улучшения сжатия.
Альтернативно, можно использовать любой тип кодирования индексов, представляющих предсказатели вектора движения, после определения количества разных предсказателей вектора движения Nmax. В частности, можно использовать любой тип статистического кодирования, например, кодирование методом Хаффмана или арифметическое кодирование. Кроме того, индексы также можно кодировать с использованием кода префиксного типа, например, Райса-Голомба (Rice-Colomb) или унарного кода.
Затем, на этапе S503 производится проверка, больше ли количество N предсказателей вектора движения из набора L1, чем Nmax.
В случае положительного ответа, после проверки S503 следует этап S504 выбора предсказателя-кандидата вектора движения из L1, с последующим удалением выбранного предсказателя-кандидата вектора движения из L1 на этапе S506 для формирования модифицированного набора L2 предсказателей вектора движения.
Выбор на этапе S504 применяется согласно критерию удаления, например, критерию расстояния. Например, набор L1 содержит предсказатели {V1,…,VN} вектора движения, причем каждый предсказатель вектора движения является вектором, представленным своими компонентами или координаты по оси X и оси Y в системе координат, представленной на фиг. 8.
Согласно варианту осуществления, на этап S504 определяется расстояние между каждым вектором Vk и каждым другим вектором Vn из L1, отличным от самого Vk, путем вычисления расстояния в виде:
Figure 00000001
, где
Figure 00000002
представляет абсолютное значение a. В примере, приведенном на фиг. 8, вектор V имеет координаты (3,2), вектор V’ имеет координаты (4,2) и V” имеет координаты (3,3). В этом примере, d(V,V’)=d(V,V”)=1, поэтому V’ и V” находятся на одном расстоянии от вектора V, тогда как d(V’,V”)=2.
Альтернативно можно применять любой другой тип метрики для вычисления расстояний.
Минимальное найденное расстояние d(Vp,Vq) указывает два ближайших вектора Vp, Vq, из набора L1, и, таким образом, один из этих двух векторов выбирается для удаления. Выбирать один из этих двух векторов можно на основании расстояния каждого из них до оставшихся векторов прогнозирования движения в модифицированном наборе L1: вектор между Vp и Vq, который имеет наименьшее расстояние до другого вектора из набора L1, выбирается для удаления.
Это позволяет гарантировать, что расстояние между остальными векторами в модифицированном наборе L2 было максимальным, чтобы можно было использовать по возможности более различные или разнесенные предсказатели вектора движения.
После удаления выбранного вектора, значение N уменьшается (S508), после чего N сравнивается с Nmax (S510). Если значение N еще не достигло Nmax (ответ ‘нет’ при проверке S510) этапы S504 - S510 повторяются. В противном случае, если N достигло Nmax, за этапом S510 следует этап S522, описанный ниже.
Если ответом при проверке S503 является ‘нет’, то проверка S512 проверяет, меньше ли N, чем Nmax. В случае отрицательного ответа, т.е. если N=Nmax, за проверкой S512 следует этап S522, описанный ниже.
Если ответом при проверке S512 является ‘да’, т.е. если N строго меньше Nmax, то за проверкой S512 следует этап S514 получения или генерации дополнительного предсказателя-кандидата вектора движения. Действительно, начиная с начального набора L1 предсказателей вектора движения, можно добавлять другие кандидаты в качестве предсказателей вектора движения, в заранее определенном порядке, для формирования модифицированного набора L2 предсказателей вектора движения. В примере, приведенном на фиг. 7, векторы движения блоков 710, 720, 730 и 740 можно добавлять в качестве возможных предсказателей вектора движения. Кроме того, 2 предсказателя из 770, 760, 750, которые не были выбраны на этапе S500 можно добавлять в качестве возможных предсказателей вектора движения.
Для каждого потенциальный предсказатель-кандидат вектора движения MV, производится проверка, отличается ли предсказатель вектора движения MV от всех предсказателей-кандидатов вектора движения, ранее сохраненных в наборе L2.
Если каждый потенциальный вектор-кандидат движения рассматриваемый, например, как векторы движения блоков 710, 720, 730, 740, 750, 760 и 770 на фиг. 7, равен предсказателю вектора движения из набора L2, новые ‘виртуальные’ предсказатели-кандидаты вектора движения вычисляются на этапе S514.
Такие предсказатели-кандидаты вектора движения называются виртуальными, поскольку они не являются векторами движения других блоков текущего изображения или опорного изображения. Виртуальные предсказатели вектора движения вычисляются из существующих предсказателей вектора движения, например путем добавления смещений. Например, из вектора движения MV набора L2 с координатами (MVx, MVy), можно вычислить четыре виртуальных предсказателя вектора движения путем добавления/вычитания смещение off к его координатам: MV’(MVx±off, MVy±off). Обычно off можно задавать равным 1 или 2.
Альтернативно, можно применять другие модификации компонент предсказателя вектора движения MV для получения виртуальных предсказателей вектора движения, для получения разнесенных предсказателей вектора движения, начиная с существующих предсказателей вектора движения для повышения эффективности сжатия.
Например, компоненты вектора движения MV можно модифицировать независимо, с использованием соответственно двух значений offx и offy, и offx или offy можно задавать равным 0.
Согласно варианту осуществления, оба offx и offy пропорциональны соответствующей компоненте: offx=aMVx и offy=bMVy где a и b обычно меньше 0.5. При необходимости, модифицированные координаты MVx и MVy округляются до ближайшего целочисленного значения, для представления смещение на сетке пикселей.
Согласно варианту осуществления, вспомогательный вектор движения, с заранее определенной нормой, прибавляется к вектору MV, причем вспомогательный вектор имеет такое же направление, как вектор движения MV, что представлено на фиг. 8: вспомогательный вектор 850 прибавляется к вектору 820.
В еще одном альтернативном варианте осуществления, вычисляется дисперсия векторов движения из набора L2:
Figure 00000003
, где
Figure 00000004
представляет среднее значение координат MVx векторов из L2, и
Figure 00000005
представляет среднее значение координат MVy векторов из L2. Затем смещение off выбирается путем сравнения вычисленного значения var с заранее определенным порогом T. T может быть равен 50/L2. Если var меньше, чем T, значение off мало, например off=1; если var больше T, off назначается большее значение, например off=3. Кроме того, в этом варианте осуществления, для каждого компонента можно вычислять дифференцированное значение offx или offy.
Один предсказатель вектора движения, полученный на этапе S514, добавляется в набор L2 предсказателей вектора движения на этапе S516, и количество N увеличивается на 1 (этап S518).
Затем, на этапе S520 производится проверка, равны ли между собой N и Nmax. В случае отрицательного ответа, этапы S514-S520 повторяются.
В случае положительного ответа, достигается определенное целевое количество предсказателей-кандидатов вектора движения Nmax, и после этапа S520, на кодере выполняется этап S522 выбора оптимального предсказателя вектора движения для текущего блока из набора L2. Например, критерий скорости-искажения оптимизации применяется для выбора оптимального предсказателя вектора движения MVi для кодирования вектора движения текущего блока.
На кодере кодируется остаток движения, т.е. разность между вектором движения текущего блока и выбранным предсказателем вектора движения, а также указание предсказателя вектора движения, выбранное на этапе S524. Например, индекс i выбранного предсказателя вектора движения MVi из L2 кодируется, с использованием k=INTsup(log2(Nmax)) битов.
Альтернативно, можно применять статистическое кодирование индекса i.
В еще одной альтернативе, индекс i можно кодировать с использованием кода префиксного типа, например, кода Райса-Голомба, в котором каждое значение i кодируется с использованием i единиц, сопровождаемых нулями.
Алгоритм, показанный на фиг. 5, также может быть реализован декодером для генерации набора предсказателей-кандидатов вектора движения или векторов-кандидатов движения для данного блока, без этапов S522 и S524.
На декодере, индекс i выбранного предсказателя вектора движения MVi для данного декодируемого блока получается из битового потока, на основании Nmax и, таким образом, количества k битов, на котором закодирован индекс i. Этапы S500 - S518 аналогично реализуются для получения набора L2 предсказателей вектора движения, таким образом, что индекс i, декодированный из битового потока, указывает предсказатель вектора движения, фактически используемый кодером.
В случае потерь в ходе передачи, поскольку количество Nmax может систематически извлекаться декодером, принятый битовый поток может систематически анализироваться для выделения индекса i, указывающего выбранный предсказатель вектора движения, даже если, в зависимости от потерянных пакетов, на декодере может не получаться полного набора L2 предсказателей вектора движения.
Фиг. 6 детализирует генерацию набора предсказателей-кандидатов вектора движения или векторов-кандидатов движения во втором варианте осуществления настоящего изобретения. Все этапы алгоритма, представленного на фиг. 6, могут быть реализованы программными средствами и выполняться центральным процессором 1111 устройства 1000.
Фиг. 6 представляет блок-схему операций, применяемую для данного текущего кодируемого блока, с которым связан вектор движения, указывающий опорную область в опорном изображении.
Прежде всего, аналогично этапу S502 на фиг. 5, целевое количество Nmax используемых предсказателей-кандидатов вектора движения определяется на этапе S600.
Согласно варианту осуществления, Nmax выражается в виде 2k, поэтому каждое значение индекса, которое может кодироваться k битами, соответствует возможному предсказателю вектора движения.
Например, для использования всех предсказателей вектора движения схемы AMVP, которая предусматривает 5 предсказателей вектора движения, 3 бита необходимо для кодирования индекса предсказателя вектора движения. В этом случае, предпочтительно Nmax=23=8.
Начальный набор L1 предсказателей-кандидатов вектора движения получается на этапе S602. Например, выбирается начальный набор из N=5 предсказателей вектора движения AMVP.
Процесс сокращения применяется к начальному набору предсказателей вектора движения для устранения дубликатов, с целью получения сокращенного набора предсказателей вектора движения, содержащего N1 элементов. Предпочтительно, количество дубликатов каждого оставшегося вектора после процесса сокращения записывается и сохраняется в памяти для последующего использования на этапе S612, описанном ниже.
Далее проверяется (проверка S606), действительно ли N1 больше или равно Nmax, целевому количеству предсказателей вектора движения. Это может указывать, что положительный исход этой проверки наступает только, если алгоритм начинается с первого набора предсказателей вектора движения большее количество векторов движения, чем Nmax. В случае положительного ответа, за этапом S606 следует этап S630 выбора первых Nmax предсказателей-кандидатов вектора движения из набора L1 для формирования набора L2 предсказателей вектора движения.
В случае отрицательного ответа, т.е. если N1 меньше, чем Nmax, набор предсказателей вектора движения следует дополнить дополнительными предсказателями вектора движения.
Второй набор L1’ предсказателей-кандидатов вектора движения получается на этапе S608.
Второй набор L1’ предсказателей вектора движения состоит из оставшихся предсказателей вектора движения первого набора L1 и из дополнительных векторов движения, например соответствующих векторам движения блока 710, 720, 730 и 740 опорного изображения, представленным на фиг. 7. Кроме того, 2 предсказателя из 770, 760, 750, которые не были выбраны на этапе S600, можно добавлять в качестве возможных предсказателей вектора движения. Каждый предсказатель вектора движения из набора L1’ имеет соответствующий индекс.
Затем процесс сокращения применяется ко второму набору предсказателей вектора движения на этапе S610 для получения сокращенного второго набора L1” предсказателей вектора движения из N2 векторов. Процесс сокращения устраняет дубликаты, благодаря чему, все предсказатели вектора движения из L1” отличаются друг от друга. Количество дубликатов каждого вектора, оставшегося в L1”, записывается и сохраняется в памяти для последующего использования на этапе S612, описанном ниже.
Затем на этапе S628 производится проверка, действительно ли количество предсказателей вектора движения N2 больше или равно Nmax. В случае положительного ответа, за этапом S628 следует ранее описанный этап S630.
В случае отрицательного ответа, необходимо добавить дополнительные предсказатели вектора движения в сокращенный второй набор L1” предсказателей вектора движения для получения окончательного набора из Nmax предсказателей вектора движения.
После проверки S628, в случае отрицательного ответа, значение важности назначается каждому оставшемуся предсказателю-кандидату вектора движения из сокращенного второго набора L1” предсказателей вектора движения на этапе S612.
В альтернативном варианте осуществления, за этапом S612 непосредственно следует проверка S606, в случае отрицательного ответа при проверке S606.
Значение важности вычисляется в этом варианте осуществления в качестве количества дубликатов данного предсказателя вектора движения, с использованием количества дубликатов данного предсказателя вектора движения, вычисленного и сохраненного на этапах S604 и S610. В примере, приведенном на фиг. 1, два вектора, V0 и V3, равны, поэтому вектор V0 имеет значение важности, равное 2.
В альтернативном варианте осуществления, значение важности можно вычислять как функцию расстояния до репрезентативного вектора из набора рассматриваемых векторов, например, среднее значение векторов набора или медиану векторов набора. Затем важность можно вычислить как величину, обратную расстоянию данного вектора из набора Vn до репрезентативного вектора: чем ближе вектор Vn к репрезентативному вектору набора, тем выше важность Vn.
Затем N2 оставшихся предсказателей-кандидатов вектора движения упорядочиваются на этапе S614 согласно в порядке убывания значения важности. Если несколько предсказателей вектора движения имеют одно и то же значение важности, их можно упорядочивать в порядке возрастания их индексов.
Переупорядоченным предсказателям вектора движения переназначаются увеличивающиеся индексы {V0,V1,…,VN2-1}.
На следующем этапе S616, переменная n инициализируется в 0 и переменная N инициализируется в N2, т.е. текущее количество предсказателей вектора движения в переупорядоченном наборе.
Затем, на этапе S618, следующем за этапом S616, виртуальные предсказатели-кандидаты вектора движения добавляются в переупорядоченный набор. В этом варианте осуществления, виртуальные предсказатели вектора движения вычисляются из оставшихся предсказателей вектора движения, упорядоченных согласно их важности. Рассмотрим предсказатель вектора движения с индексом n из переупорядоченного набора, Vn с координатами (Vnx, Vny). Нижеследующий список из 8 виртуальных предсказателей вектора движения, заданных их координатами, можно вычислять из Vn, путем последовательного добавления +off и -off к одной или двум координатам Vn: {(Vnx+off, Vny), (Vnx-off, Vny), (Vnx+off, Vny+off), (Vnx+off, Vny-off), (Vnx-off, Vny+off), (Vnx-off, Vny-off), (Vnx, Vny+off), (Vnx, Vny-off)}.
Можно использовать любое альтернативное вычисление виртуальных предсказателей вектора движения, начиная с предсказателя Vn вектора движения, в частности, альтернативы, описанные выше относительно этапа S514 на фиг. 5.
Этот список из виртуальных предсказателей вектора движения прибавляется к текущему набору предсказателей вектора движения.
Дубликаты исключаются на этапе S620.
Значение N обновляется на этапе S622 до оставшегося количества предсказателей вектора движения после удаления потенциальных дубликатов.
Затем, на этапе S624, производится проверка, действительно ли N больше или равно Nmax. В случае отрицательного ответа, за этапом S624 следует этап S634 увеличения значения n на 1, и этапы S618 - S624 повторяются.
В случае положительного ответа на этапе S624, делается вывод, что получено достаточное количество предсказателей вектора движения. За этапом S624 следует этап S630 выбора первых Nmax векторов-кандидатов движения для формирования окончательного набора L2 предсказателей вектора движения из Nmax векторов.
На кодере, за этапом S630 следует этап S632, аналогичный этапу S522 на фиг. 5, выбора оптимального предсказателя вектора движения MVi из набора предсказателей вектора движения для текущего блока, согласно заранее определенному критерию, например критерию скорости-искажения.
За этапом S632 следует этап S634 кодирования вектора движения текущего блока с использованием предсказателя вектора движения MVi, аналогичный этапу S524 на фиг. 5. Например, индекс i предсказателей вектора движения MVi кодируется с использованием k битов, причем k вычисляется из Nmax согласно k=INTsup(log2(Nmax)).
Альтернативно, можно применять статистическое кодирование индекса i.
В еще одной альтернативе, индекс i можно кодировать с использованием кода префиксного типа, например, кода Райса-Голомба, в котором каждое значение i кодируется с использованием i единиц, сопровождаемых нулями.
Алгоритм, показанный на фиг. 6 также может быть реализован декодером для генерации набора предсказателей-кандидатов вектора движения или векторов-кандидатов движения для данного блока, за исключением того, что этапы S632 и S634 опущены на стороне декодера.
На декодере, индекс i выбранного предсказателя вектора движения MVi для данного декодируемого блока получается из битового потока, на основании Nmax и, таким образом, количества k битов, на котором закодирован индекс i. Этапы S600 - S630 аналогично реализуются для получения набора L2 предсказателей вектора движения, таким образом, что индекс i, декодированный из битового потока, указывает предсказатель вектора движения, фактически используемый кодером.
В случае потерь в ходе передачи, поскольку количество Nmax может систематически извлекаться декодером, принятый битовый поток может систематически анализироваться для выделения индекса i, указывающего выбранный предсказатель вектора движения, даже если, в зависимости от потерянных пакетов, на декодере может не получаться полного набора L2 предсказателей вектора движения.
Описанные выше варианты осуществления основаны на разбиении входных изображений на блоки, но, в более общем случае, можно рассматривать любой тип участков изображения для кодирования или декодирования, в частности, прямоугольные участки или, в более общем случае, геометрические участки.
Можно предусмотреть другие альтернативные варианты осуществления, например, начинающиеся с большого набора предсказателей-кандидатов вектора движения, содержащего количество N векторов, превышающее целевое количество Nmax определенных предсказателей вектора движения, и применяющие алгоритм кластеризационного типа для сокращения набора векторов. Например, разбиение Вороного (Voronoi) можно применять для сокращения набора до Nmax наиболее репрезентативных векторов из набора согласно заранее заданному расстоянию между векторами набора.
В более общем случае, любая модификация или усовершенствование вышеописанных вариантов осуществления, которое может легко вообразить специалист в данной области техники, следует рассматривать как отвечающие объему изобретения.
По настоящей заявке испрашивается приоритет патентной заявки Великобритании № 1100462.9, поданной 12 января 2011 г., содержание которой в полном объеме включено в данное описание в порядке ссылки.

Claims (44)

1. Способ кодирования последовательности изображений в битовый поток, причем по меньшей мере один участок изображения из указанных изображений кодируется посредством компенсации движения относительно опорного участка изображения,
указанный способ содержит этапы, на которых: получают один или более векторов движения, каждый из которых связан с участком изображения, имеющим заранее определенное пространственное соотношение с участком изображения, подлежащим кодированию,
удаляют один или более дублированных векторов движения из полученных одного или более векторов движения,
после удаления одного или более дублированных векторов движения сравнивают целевое количество с количеством оставшихся одного или более векторов движения в качестве кандидатов, которые не были удалены, и
если количество одного или оставшихся векторов движения ниже целевого количества,
добавляют по меньшей мере один дополнительный вектор движения в качестве кандидата для генерирования целевого количества векторов движения для участка изображения, подлежащего кодированию.
2. Способ по п. 1, в котором один или более векторов движения, полученных на шаге получения, являются фактическими векторами движения из предварительно заданных участков изображения упомянутого кодируемого изображения или опорного изображения, и дополнительный вектор движения является виртуальным вектором движения, не имеющим вектора движения, полученного из предварительно заданного участка изображения упомянутого кодируемого изображения или опорного изображения.
3. Способ по п. 2, содержащий этапы, на которых проверяют, меньше ли количество векторов движения в
упомянутом сокращенном наборе упомянутого целевого количества, и, если да, сначала добавляют один или более упомянутых дополнительных фактических векторов движения, затем снова проверяют, меньше ли количество векторов движения, после добавления дополнительных фактических векторов движения, упомянутого целевого количества, и, если да, добавляют один или более упомянутых виртуальных векторов движения.
4. Способ по п. 1, дополнительно содержащий этап, на котором кодируют элемент информации, представляющий вектор движения, выбранный из целевого количества векторов движения.
5. Способ по п. 1, дополнительно содержащий этап, на котором сигнализируют в упомянутом битовом потоке упомянутое целевое количество.
6. Способ декодирования битового потока, содержащего кодированную последовательность цифровых изображений, имеющих по меньшей мере один участок изображения, закодированный посредством компенсации движения относительно опорного участка изображения, способ содержит этапы, на которых:
получают один или более векторов движения, каждый из которых связан с участком изображения, имеющим заранее определенное пространственное соотношение с участком изображения, подлежащим декодированию;
удаляют один или более дублированных векторов движения из одного или более полученных векторов движения, после удаления одного или более дублированных векторов движения сравнивают целевое значение с количеством одного или более оставшихся векторов движения в качестве кандидатов, которые не были удалены, и
если упомянутое первое количество одного или оставшихся векторов движения меньше упомянутого целевого количества,
добавляют по меньшей мере один дополнительный вектор движения в качестве кандидата для генерирования целевого количества векторов движения для участка изображения, подлежащего декодированию.
7. Способ по п. 6, дополнительно содержащий этап, на котором выбирают вектор движения из указанного целевого количества векторов движения для участка изображения, подлежащего декодированию.
8 Способ по п. 7, дополнительно содержащий этап, на котором декодируют элемент информации, представляющий вектор движения, причем вектор движения выбран в соответствии с декодируемым элементом.
9. Способ по п. 6, в котором один или более векторов движения, полученных на шаге получения векторов, являются фактическими векторами движения, полученными из участков изображения упомянутого декодируемого изображения или опорного изображения, при этом дополнительный вектор движения является виртуальным вектором движения, не имеющим вектора движения, полученного из участка изображения упомянутого декодируемого изображения или опорного изображения.
10. Способ по п. 9, содержащий этапы, на которых: проверяют, меньше ли количество векторов движения в упомянутом сокращенном наборе, чем целевое количество, и, если да, сначала добавляют один или более упомянутых дополнительных фактических векторов движения, затем снова проверяют, меньше ли количество векторов движения, после добавления дополнительных фактических векторов движения, упомянутого целевого количества, и, если да, добавляют один или более упомянутых виртуальных векторов движения.
11. Способ по п. 6, дополнительно содержащий этап, на котором получают упомянутое целевое количество из упомянутого битового потока.
12. Устройство для кодирования последовательности изображений в битовый поток, причем по меньшей мере один участок изображения из кодируемых изображений кодируется посредством компенсации движения относительно опорного участка изображения, содержащее:
средство для получения одного или более векторов движения, каждый из которых связан с участком изображения, имеющим заранее определенное пространственное соотношение с упомянутым участком изображения, подлежащим кодированию;
средство для удаления одного или более дублированных векторов движения из одного или более полученных векторов движения, и
средство для сравнения целевого количества с количеством оставшихся одного или более векторов движения в качестве кандидатов, которые не были удалены, после того, как один или более дублированных векторов движения удалены, и
средство для добавления по меньшей мере одного дополнительного вектора движения в качестве кандидата для генерирования целевого количества векторов движения для участка изображения, подлежащего кодированию;
если количество одного или остающихся векторов движения меньше упомянутого целевого количества.
13. Устройство по п. 12, в котором один или более векторов движения, полученных средством для получения, являются действительными векторами движения из предварительно заданных участков изображения кодируемого изображения, или опорного изображения, причем дополнительный вектор движения является виртуальным вектором движения, не имеющим вектора движения, полученного из предварительно заданного участка изображения упомянутого кодируемого изображения или опорного изображения.
14. Устройство по п. 13, в котором средство сравнения проверяет, меньше ли количество векторов движения в упомянутом сокращенном наборе, чем упомянутое целевое количество, и, если да, средство добавления сначала добавляет один или более упомянутых дополнительных фактических векторов движения, затем средство сравнения снова проверяет, меньше ли количество векторов движения, после добавления дополнительных фактических векторов движения, чем упомянутое целевое количество, и, если да, средство добавления добавляет один или более упомянутых виртуальных векторов движения.
15. Устройство по п. 12, дополнительно содержащее средство для кодирования элемента информации, представляющего вектор движения, выбранный из целевого количества векторов движения.
16. Устройство по п. 12, дополнительно содержащее средство для сигнализации целевого количества в битовом потоке.
17. Устройство для декодирования битового потока, содержащего кодированную последовательность цифровых изображений, имеющих по меньшей мере один участок изображения, закодированный посредством компенсации движения относительно опорного изображения, причем устройство содержит:
средство для получения одного или более векторов движения, каждый из которых связан с участком изображения, имеющим заранее определенное пространственное соотношение с упомянутым участком изображения, подлежащим декодированию,
средство для удаления одного или более дублированных векторов движения из одного или более полученных векторов движения, и
средство для сравнения целевого количества с количеством оставшихся одного или более векторов движения в качестве кандидатов, которые не были удалены, после того, как один или более дублированных векторов движения удалены, и
средство для добавления по меньшей мере одного дополнительного вектора движения в качестве кандидата для генерирования целевого количества векторов движения для участка изображения, подлежащего декодированию.
18. Устройство по п. 17, дополнительно содержащее средство выбора вектора движения из целевого количества векторов движения для указанного участка изображения, подлежащего декодированию.
19. Устройство по п. 18, дополнительно содержащее средство декодирования элемента информации, представляющего вектор движения, причем вектор движения выбран в соответствии с декодируемым элементом.
20. Устройство по п. 17, в котором один или более векторов движения, полученных средством для получения, являются действительными векторами движения из предварительно заданных участков изображения декодируемого изображения или опорного изображения, причем дополнительный вектор движения является виртуальным вектором движения, не имеющим вектора движения, полученного из предварительно заданного участка изображения упомянутого декодируемого изображения или опорного изображения.
21. Устройство по п. 20, в котором средство сравнения предназначено для проверки, меньше ли количество векторов движения в упомянутом сокращенном наборе, чем упомянутое целевое количество, и, если да, средство добавления сначала добавляет один или более упомянутых дополнительных фактических векторов движения, затем средство сравнения снова проверяет, меньше ли количество векторов движения, после добавления дополнительных фактических векторов движения, чем упомянутое целевое
количество, и, если да, средство добавления добавляет один или более упомянутых виртуальных векторов движения.
22. Устройство по п. 17, дополнительно содержащее средство для сигнализации целевого количества из битового потока.
23. Машиночитаемый носитель данных, на котором сохранена компьютерная программа, которая при ее исполнении на компьютере предписывает компьютеру осуществлять способ кодирования последовательности изображений в битовый поток по п. 1.
24. Машиночитаемый носитель данных, на котором сохранена компьютерная программа, которая при ее исполнении на компьютере предписывает компьютеру осуществлять способ декодирования битового потока по п. 6.
RU2016136342A 2011-01-12 2016-09-09 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам RU2651181C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1100462.9 2011-01-12
GB1100462.9A GB2487200A (en) 2011-01-12 2011-01-12 Video encoding and decoding with improved error resilience

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2015120774/08A Division RU2600530C2 (ru) 2011-01-12 2012-01-11 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2017145586A Division RU2688252C1 (ru) 2011-01-12 2017-12-25 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам

Publications (3)

Publication Number Publication Date
RU2016136342A RU2016136342A (ru) 2018-03-15
RU2016136342A3 RU2016136342A3 (ru) 2018-03-15
RU2651181C2 true RU2651181C2 (ru) 2018-04-18

Family

ID=43664110

Family Applications (6)

Application Number Title Priority Date Filing Date
RU2015120774/08A RU2600530C2 (ru) 2011-01-12 2012-01-11 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
RU2013137437/08A RU2556386C2 (ru) 2011-01-12 2012-01-11 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
RU2016136342A RU2651181C2 (ru) 2011-01-12 2016-09-09 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
RU2017145586A RU2688252C1 (ru) 2011-01-12 2017-12-25 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
RU2019113330A RU2709158C1 (ru) 2011-01-12 2019-04-30 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
RU2019137968A RU2762933C2 (ru) 2011-01-12 2019-11-25 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам

Family Applications Before (2)

Application Number Title Priority Date Filing Date
RU2015120774/08A RU2600530C2 (ru) 2011-01-12 2012-01-11 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
RU2013137437/08A RU2556386C2 (ru) 2011-01-12 2012-01-11 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам

Family Applications After (3)

Application Number Title Priority Date Filing Date
RU2017145586A RU2688252C1 (ru) 2011-01-12 2017-12-25 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
RU2019113330A RU2709158C1 (ru) 2011-01-12 2019-04-30 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
RU2019137968A RU2762933C2 (ru) 2011-01-12 2019-11-25 Кодирование и декодирование видео с повышенной устойчивостью к ошибкам

Country Status (13)

Country Link
US (14) US20130279596A1 (ru)
EP (10) EP3174297B1 (ru)
JP (12) JP5847844B2 (ru)
KR (15) KR101953520B1 (ru)
CN (17) CN106851307A (ru)
BR (2) BR122019026393B1 (ru)
ES (7) ES2615828T3 (ru)
GB (3) GB2487200A (ru)
HU (5) HUE046362T2 (ru)
PL (5) PL3070944T3 (ru)
RU (6) RU2600530C2 (ru)
TR (1) TR201907405T4 (ru)
WO (4) WO2012095464A1 (ru)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101459714B1 (ko) * 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
GB2487200A (en) * 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
GB2493755B (en) * 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images
GB2511288A (en) * 2013-01-09 2014-09-03 Canon Kk Method, device, and computer program for motion vector prediction in scalable video encoder and decoder
GB2512829B (en) 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
CN103475883B (zh) * 2013-09-26 2016-07-06 北京航空航天大学 一种基于运动区域划分的hevc运动估计提前终止方法
CN104410864B (zh) * 2014-11-07 2018-08-14 太原科技大学 Hevc中基于残差能量的错误隐藏方法
US9955160B1 (en) * 2015-04-27 2018-04-24 Harmonic, Inc. Video encoding using adaptive pre-filtering
US9787987B2 (en) 2015-04-27 2017-10-10 Harmonic, Inc. Adaptive pre-filtering based on video complexity and output bit rate
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
JP6727791B2 (ja) * 2015-11-05 2020-07-22 キヤノン株式会社 追尾制御装置および追尾制御方法、撮像装置
CN107046645B9 (zh) 2016-02-06 2020-08-14 华为技术有限公司 图像编解码方法及装置
DE102016223079B4 (de) * 2016-11-23 2024-03-28 Robert Bosch Gmbh Verfahren und Vorrichtung zur Ermittlung einer Zuordnung zwischen einem Matrixelement einer Matrix und einem Vergleichsmatrixelement einer Vergleichsmatrix mittels Korrespondenztabelle
US10735761B2 (en) * 2017-05-19 2020-08-04 Mediatek Inc Method and apparatus of video coding
CN109495738B (zh) * 2017-09-12 2023-02-07 华为技术有限公司 一种运动信息的编解码方法和装置
CA3078416A1 (en) 2017-10-06 2019-04-11 Societe Des Produits Nestle S.A. Container, preparation machine and system using a binary code for encoding preparation information
KR102486879B1 (ko) 2018-04-12 2023-01-11 삼성디스플레이 주식회사 디스플레이 장치 및 그 제조방법
WO2020043004A1 (zh) 2018-08-28 2020-03-05 华为技术有限公司 候选运动信息列表的构建方法、帧间预测方法及装置
CN111083491A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 细化运动矢量的利用
WO2020098643A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
JP7433038B2 (ja) 2018-12-19 2024-02-19 キヤノンメディカルシステムズ株式会社 医用情報匿名化システム、及び匿名化方法設定装置
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
KR102184913B1 (ko) * 2019-03-12 2020-12-01 한양대학교 산학협력단 원형의 직교 진폭 변조 신호 성상도를 생성하는 방법 및 장치
CN113994667A (zh) * 2019-06-21 2022-01-28 三星电子株式会社 通过使用邻近运动信息对运动信息进行编码和解码的设备和方法
WO2021006773A1 (en) * 2019-07-11 2021-01-14 Huawei Technologies Co., Ltd. Motion field storage optimization for the line buffer
WO2023194603A1 (en) * 2022-04-08 2023-10-12 Interdigital Ce Patent Holdings, Sas Motion information candidates re-ordering

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008847A (en) * 1996-04-08 1999-12-28 Connectix Corporation Temporal compression and decompression for video
EP1033882A1 (en) * 1998-06-01 2000-09-06 Sony Computer Entertainment Inc. Input position measuring instrument and entertainment system
RU2189120C2 (ru) * 1996-09-09 2002-09-10 Сони Корпорейшн Кодирование и декодирование изображений
US6501863B1 (en) * 1997-09-29 2002-12-31 Sony Corporation Image coding apparatus, image coding method, image decoding apparatus, image decoding method and transmission medium
US6584125B1 (en) * 1997-12-22 2003-06-24 Nec Corporation Coding/decoding apparatus, coding/decoding system and multiplexed bit stream
EP1727090A1 (en) * 2004-02-27 2006-11-29 Tdvision Corporation S.A. DE C.V. Method and system for digital decoding 3d stereoscopic video images
RU2337503C1 (ru) * 2004-10-18 2008-10-27 Самсунг Электроникс Ко., Лтд. Способы кодирования и декодирования видеоизображения с использованием межуровневой фильтрации и видеокодер и видеодекодер с их использованием
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
RU2404537C2 (ru) * 2007-01-12 2010-11-20 Мицубиси Электрик Корпорейшн Устройство для кодирования динамических изображений, устройство для декодирования динамических изображений, способ кодирования динамических изображений и способ декодирования динамических изображений

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1100462A (en) 1963-10-02 1968-01-24 Automatic Telephone & Elect Improvements in or relating to magnetic core matrix data storage devices
JP3265590B2 (ja) 1991-07-24 2002-03-11 松下電器産業株式会社 画像の動きベクトル検出装置及び画像揺れ補正装置
JPH0620050A (ja) * 1992-07-03 1994-01-28 Matsushita Electric Ind Co Ltd 動画像信号の復号化装置と推定動きベクトル算出方法
JPH0730896A (ja) 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
US5552673A (en) 1994-10-04 1996-09-03 Kenwood; Michael Theft resistant compact fluorescent lighting system
CA2255900C (en) * 1997-03-14 2002-08-06 Cselt - Centro Studi E Laboratori Telecommunicazioni S.P.A. Circuit for motion estimation in digitised video sequence encoders
US5978048A (en) * 1997-09-25 1999-11-02 Daewoo Electronics Co., Inc. Method and apparatus for encoding a motion vector based on the number of valid reference motion vectors
WO1999041912A2 (en) * 1998-02-13 1999-08-19 Koninklijke Philips Electronics N.V. Method and arrangement for video coding
EP1033883A1 (en) 1998-09-22 2000-09-06 Matsushita Electric Industrial Co., Ltd. Video signal encoding method, video signal encoder, and program recorded medium
US7327791B1 (en) 1999-02-22 2008-02-05 Mitsubishi Denki Kabushiki Kaisha Video decoding method performing selective error concealment and resynchronization
US6738423B1 (en) 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US6552673B2 (en) 2000-02-25 2003-04-22 Texas Instruments Incorporated Efficient table access for reversible variable length code decoding using a hash function
EP1152621A1 (en) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
US20050207663A1 (en) 2001-07-31 2005-09-22 Weimin Zeng Searching method and system for best matching motion vector
US7787746B2 (en) * 2001-10-23 2010-08-31 Thomson Licensing Fast motion trick mode using non-progressive dummy bidirectional predictive pictures
US20040125204A1 (en) 2002-12-27 2004-07-01 Yoshihisa Yamada Moving picture coding apparatus and moving picture decoding apparatus
US7248741B2 (en) * 2002-01-09 2007-07-24 Hiroshi Akimoto Video sequences correlation and static analysis and scene changing forecasting in motion estimation
CA2574127A1 (en) 2002-01-18 2003-07-31 Kabushiki Kaisha Toshiba Video encoding method and apparatus and video decoding method and apparatus
KR100492127B1 (ko) 2002-02-23 2005-06-01 삼성전자주식회사 적응형 움직임 추정장치 및 추정 방법
KR100474285B1 (ko) 2002-04-08 2005-03-08 엘지전자 주식회사 모션벡터결정방법
CN101631247B (zh) 2002-04-18 2011-07-27 株式会社东芝 运动图像编码/解码方法和装置
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
US6925123B2 (en) 2002-08-06 2005-08-02 Motorola, Inc. Method and apparatus for performing high quality fast predictive motion search
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7577198B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
CN100353768C (zh) 2003-11-26 2007-12-05 联发科技股份有限公司 在视频压缩系统中进行运动估测的方法及相关装置
WO2005055608A1 (en) 2003-12-01 2005-06-16 Samsung Electronics Co., Ltd. Method and apparatus for scalable video encoding and decoding
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
US7676722B2 (en) 2004-03-31 2010-03-09 Sony Corporation Multimedia content delivery using pre-stored multiple description coded video with restart
WO2006012375A1 (en) 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector processing
CN101005620B (zh) * 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
CN1256686C (zh) * 2004-09-15 2006-05-17 哈尔滨工业大学 一种运动估计方法和应用该方法的运动估计电路
US8073053B2 (en) 2004-09-22 2011-12-06 Panasonic Corporation Image encoding device that encodes an arbitrary number of moving pictures
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
EP1703736A1 (en) 2005-03-14 2006-09-20 BRITISH TELECOMMUNICATIONS public limited company Global motion estimation
JPWO2006100820A1 (ja) 2005-03-22 2008-08-28 三菱電機株式会社 画像符号化記録読出装置
KR100736041B1 (ko) * 2005-06-30 2007-07-06 삼성전자주식회사 에러 은닉 방법 및 장치
RU2368095C1 (ru) 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
JP2007067731A (ja) * 2005-08-30 2007-03-15 Sanyo Electric Co Ltd 符号化方法
JP2007074592A (ja) * 2005-09-09 2007-03-22 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
KR100712532B1 (ko) 2005-09-10 2007-04-30 삼성전자주식회사 단일표현과 다중표현 전환을 이용한 동영상 변환부호화장치 및 방법
US7620108B2 (en) * 2005-09-16 2009-11-17 Sony Corporation Integrated spatial-temporal prediction
US8165205B2 (en) 2005-09-16 2012-04-24 Sony Corporation Natural shaped regions for motion compensation
US20070064805A1 (en) 2005-09-16 2007-03-22 Sony Corporation Motion vector selection
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
JP2007097028A (ja) * 2005-09-30 2007-04-12 Oki Electric Ind Co Ltd 動きベクトル検出方法および動きベクトル検出回路
US8325822B2 (en) 2006-01-20 2012-12-04 Qualcomm Incorporated Method and apparatus for determining an encoding method based on a distortion value related to error concealment
JP5004150B2 (ja) * 2006-02-24 2012-08-22 Kddi株式会社 画像符号化装置
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
JP5188033B2 (ja) * 2006-04-24 2013-04-24 株式会社日立製作所 記録再生装置、送出装置及び伝送システム。
CN101064849A (zh) * 2006-04-29 2007-10-31 鲁海宁 动态图像编码方法、装置和计算机可读记录介质
US20080002770A1 (en) 2006-06-30 2008-01-03 Nokia Corporation Methods, apparatus, and a computer program product for providing a fast inter mode decision for video encoding in resource constrained devices
CN100576919C (zh) * 2006-08-08 2009-12-30 佳能株式会社 运动矢量检测设备及运动矢量检测方法
DE102006043707A1 (de) * 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
CN101155311B (zh) 2006-09-27 2012-09-05 中兴通讯股份有限公司 一种视频通信中的视频码流错误检测和处理方法
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
TW200836130A (en) * 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
JP5025286B2 (ja) * 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
CN101267567A (zh) * 2007-03-12 2008-09-17 华为技术有限公司 帧内预测、编解码方法及装置
BRPI0809512A2 (pt) 2007-04-12 2016-03-15 Thomson Licensing método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo
JP2008283560A (ja) * 2007-05-11 2008-11-20 Canon Inc 画像処理装置およびその方法
US8254450B2 (en) 2007-08-23 2012-08-28 Nokia Corporation System and method for providing improved intra-prediction in video coding
CN100542299C (zh) * 2007-08-31 2009-09-16 广东威创视讯科技股份有限公司 视讯图像错误的掩盖方法
EP2048886A1 (en) * 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
CN100579231C (zh) 2007-12-18 2010-01-06 北京中星微电子有限公司 一种运动矢量预测方法及装置
CN101466036A (zh) * 2007-12-21 2009-06-24 北京中电华大电子设计有限责任公司 基于avs的运动矢量预测流水并行设计方法
CN101252422B (zh) 2008-03-20 2013-06-05 中兴通讯股份有限公司 物理混合重传指示信道的分配方法
JP4990927B2 (ja) 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
US20090268821A1 (en) * 2008-04-29 2009-10-29 The Hong Kong University Of Science And Technology Block parallel and fast motion estimation in video coding
JP2010028221A (ja) * 2008-07-15 2010-02-04 Sony Corp 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
US20100020877A1 (en) 2008-07-23 2010-01-28 The Hong Kong University Of Science And Technology Multiple reference frame motion estimation in video coding
CN101350927B (zh) * 2008-07-29 2011-07-13 北京中星微电子有限公司 帧内预测选择最优预测模式的方法及装置
JP5422168B2 (ja) 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
US8295623B2 (en) 2008-10-14 2012-10-23 France Telecom Encoding and decoding with elimination of one or more predetermined predictors
CN101939994B (zh) 2008-12-08 2013-07-17 松下电器产业株式会社 图像解码装置及图像解码方法
KR101590511B1 (ko) 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
US8737475B2 (en) 2009-02-02 2014-05-27 Freescale Semiconductor, Inc. Video scene change detection and encoding complexity reduction in a video encoder system having multiple processing devices
ES2629027T3 (es) * 2009-06-19 2017-08-07 Orange Codificación de vectores de movimiento por competición de predictores
CN101931803B (zh) 2009-06-26 2013-01-09 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
KR20110008653A (ko) 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US20110090965A1 (en) 2009-10-21 2011-04-21 Hong Kong Applied Science and Technology Research Institute Company Limited Generation of Synchronized Bidirectional Frames and Uses Thereof
CN101860754B (zh) 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
CN101777963B (zh) 2009-12-29 2013-12-11 电子科技大学 一种基于反馈模式的帧级别编码与译码方法
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
WO2011095259A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Selecting predicted motion vector candidates
CN101931821B (zh) 2010-07-21 2014-12-10 中兴通讯股份有限公司 一种视频传输的差错控制方法及系统
US8736767B2 (en) 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US10104391B2 (en) * 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US20120082228A1 (en) * 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US8976873B2 (en) 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
JP5796289B2 (ja) 2010-11-26 2015-10-21 ソニー株式会社 二次電池セル、電池パック及び電力消費機器
GB2487200A (en) 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
ES2779226T3 (es) 2011-05-31 2020-08-14 Sun Patent Trust Procedimiento de descodificación de vídeo y dispositivo de descodificación de vídeo

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008847A (en) * 1996-04-08 1999-12-28 Connectix Corporation Temporal compression and decompression for video
RU2189120C2 (ru) * 1996-09-09 2002-09-10 Сони Корпорейшн Кодирование и декодирование изображений
US6501863B1 (en) * 1997-09-29 2002-12-31 Sony Corporation Image coding apparatus, image coding method, image decoding apparatus, image decoding method and transmission medium
US6584125B1 (en) * 1997-12-22 2003-06-24 Nec Corporation Coding/decoding apparatus, coding/decoding system and multiplexed bit stream
EP1033882A1 (en) * 1998-06-01 2000-09-06 Sony Computer Entertainment Inc. Input position measuring instrument and entertainment system
EP1727090A1 (en) * 2004-02-27 2006-11-29 Tdvision Corporation S.A. DE C.V. Method and system for digital decoding 3d stereoscopic video images
RU2337503C1 (ru) * 2004-10-18 2008-10-27 Самсунг Электроникс Ко., Лтд. Способы кодирования и декодирования видеоизображения с использованием межуровневой фильтрации и видеокодер и видеодекодер с их использованием
RU2404537C2 (ru) * 2007-01-12 2010-11-20 Мицубиси Электрик Корпорейшн Устройство для кодирования динамических изображений, устройство для декодирования динамических изображений, способ кодирования динамических изображений и способ декодирования динамических изображений
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding

Also Published As

Publication number Publication date
JP6165219B2 (ja) 2017-07-19
US20180241999A1 (en) 2018-08-23
RU2688252C1 (ru) 2019-05-21
KR101953520B1 (ko) 2019-02-28
KR20170128610A (ko) 2017-11-22
CN103329528A (zh) 2013-09-25
EP3244613A1 (en) 2017-11-15
CN107454398B (zh) 2020-03-03
KR101944289B1 (ko) 2019-01-31
JP2017201802A (ja) 2017-11-09
PL3244613T3 (pl) 2020-02-28
JP6207576B2 (ja) 2017-10-04
EP3598756A1 (en) 2020-01-22
CN107529063B (zh) 2020-03-31
KR20150006015A (ko) 2015-01-15
KR101999091B1 (ko) 2019-07-10
KR101798280B1 (ko) 2017-11-15
US20190098313A1 (en) 2019-03-28
CN106210734A (zh) 2016-12-07
GB2487253A (en) 2012-07-18
US10506236B2 (en) 2019-12-10
US10499060B2 (en) 2019-12-03
RU2556386C2 (ru) 2015-07-10
KR20130105906A (ko) 2013-09-26
RU2762933C2 (ru) 2021-12-24
EP2664145A1 (en) 2013-11-20
US20190098314A1 (en) 2019-03-28
JP5847845B2 (ja) 2016-01-27
EP3174297B1 (en) 2020-10-21
US20190098315A1 (en) 2019-03-28
US20130279596A1 (en) 2013-10-24
US20180352236A1 (en) 2018-12-06
CN107105285A (zh) 2017-08-29
US20180242001A1 (en) 2018-08-23
KR101943787B1 (ko) 2019-01-29
EP3550841B1 (en) 2020-10-07
JP2016054539A (ja) 2016-04-14
RU2015120774A (ru) 2015-11-20
RU2016136342A (ru) 2018-03-15
JP6336170B2 (ja) 2018-06-06
HUE046362T2 (hu) 2020-03-30
JP2014503158A (ja) 2014-02-06
JP2014506440A (ja) 2014-03-13
WO2013041244A1 (en) 2013-03-28
ES2726048T3 (es) 2019-10-01
KR20130119467A (ko) 2013-10-31
EP3550841A1 (en) 2019-10-09
ES2835311T3 (es) 2021-06-22
JP6545318B2 (ja) 2019-07-17
KR20130119468A (ko) 2013-10-31
EP3070944A1 (en) 2016-09-21
CN103314585A (zh) 2013-09-18
US20130287112A1 (en) 2013-10-31
HUE043611T2 (hu) 2019-08-28
CN103314593A (zh) 2013-09-18
ES2583407T3 (es) 2016-09-20
GB201104032D0 (en) 2011-04-20
EP2666294A1 (en) 2013-11-27
EP3174297A1 (en) 2017-05-31
ES2786998T3 (es) 2020-10-14
CN103314586A (zh) 2013-09-18
RU2600530C2 (ru) 2016-10-20
KR20170128613A (ko) 2017-11-22
JP5847844B2 (ja) 2016-01-27
JP2017143556A (ja) 2017-08-17
RU2019137968A3 (ru) 2021-05-25
BR112013016702B1 (pt) 2022-08-16
PL3070944T3 (pl) 2019-09-30
CN107454398A (zh) 2017-12-08
US20130287113A1 (en) 2013-10-31
CN106851308A (zh) 2017-06-13
KR20190021492A (ko) 2019-03-05
CN107529063A (zh) 2017-12-29
RU2013137437A (ru) 2015-02-20
KR20130105907A (ko) 2013-09-26
WO2012095466A1 (en) 2012-07-19
CN107454423A (zh) 2017-12-08
ES2615828T3 (es) 2017-06-08
CN106851307A (zh) 2017-06-13
CN106851309A (zh) 2017-06-13
KR20190044128A (ko) 2019-04-29
US20130294521A1 (en) 2013-11-07
ES2834135T3 (es) 2021-06-16
CN106851310A (zh) 2017-06-13
EP3598756B1 (en) 2021-03-10
JP2014503157A (ja) 2014-02-06
KR101918437B1 (ko) 2018-11-13
RU2709158C1 (ru) 2019-12-16
US20180316921A1 (en) 2018-11-01
US20160277744A1 (en) 2016-09-22
US9979968B2 (en) 2018-05-22
CN107105272A (zh) 2017-08-29
JP2018026826A (ja) 2018-02-15
KR102019640B1 (ko) 2019-09-06
EP2664152A1 (en) 2013-11-20
KR101525341B1 (ko) 2015-06-02
EP3518544A1 (en) 2019-07-31
US10609380B2 (en) 2020-03-31
PL3518544T3 (pl) 2020-07-13
JP6120900B2 (ja) 2017-04-26
CN103314593B (zh) 2016-12-21
PL3550841T3 (pl) 2021-04-06
US20210144385A1 (en) 2021-05-13
RU2019137968A (ru) 2021-05-25
JP2018152878A (ja) 2018-09-27
JP6513154B2 (ja) 2019-05-15
JP2019024241A (ja) 2019-02-14
HUE052669T2 (hu) 2021-05-28
EP3518544B1 (en) 2020-03-11
JP6779954B2 (ja) 2020-11-04
US10165279B2 (en) 2018-12-25
KR20170128614A (ko) 2017-11-22
JP2015164322A (ja) 2015-09-10
US20180242000A1 (en) 2018-08-23
KR101524393B1 (ko) 2015-05-29
CN107483958A (zh) 2017-12-15
BR122019026393B1 (pt) 2022-05-24
EP2664142B1 (en) 2016-12-28
EP3070944B1 (en) 2019-04-03
JP2016054538A (ja) 2016-04-14
US11146792B2 (en) 2021-10-12
EP3244613B1 (en) 2019-09-25
JP2014506439A (ja) 2014-03-13
EP2664142A1 (en) 2013-11-20
WO2012095465A1 (en) 2012-07-19
HUE049745T2 (hu) 2020-10-28
JP5847843B2 (ja) 2016-01-27
KR20180030223A (ko) 2018-03-21
HUE052346T2 (hu) 2021-04-28
CN103314586B (zh) 2017-09-22
KR101524394B1 (ko) 2015-05-29
US9386312B2 (en) 2016-07-05
BR112013016702A2 (pt) 2016-10-04
GB201111866D0 (en) 2011-08-24
CN103329528B (zh) 2016-12-21
TR201907405T4 (tr) 2019-06-21
CN107105284A (zh) 2017-08-29
KR20150006014A (ko) 2015-01-15
GB2487200A (en) 2012-07-18
CN107454399A (zh) 2017-12-08
WO2012095464A1 (en) 2012-07-19
CN106210734B (zh) 2020-01-14
KR101837803B1 (ko) 2018-03-12
PL3174297T3 (pl) 2021-03-08
CN107483958B (zh) 2020-03-03
ES2753760T3 (es) 2020-04-14
KR20190014111A (ko) 2019-02-11
RU2016136342A3 (ru) 2018-03-15
GB201100462D0 (en) 2011-02-23
EP2666294B1 (en) 2016-05-18
GB2487261A (en) 2012-07-18
KR101797805B1 (ko) 2017-11-14
KR20180123186A (ko) 2018-11-14
KR20150006021A (ko) 2015-01-15
KR101972030B1 (ko) 2019-04-24

Similar Documents

Publication Publication Date Title
RU2709158C1 (ru) Кодирование и декодирование видео с повышенной устойчивостью к ошибкам