RU2530252C1 - Способ и устройство для кодирования и декодирования вектора движения - Google Patents

Способ и устройство для кодирования и декодирования вектора движения Download PDF

Info

Publication number
RU2530252C1
RU2530252C1 RU2013158838/08A RU2013158838A RU2530252C1 RU 2530252 C1 RU2530252 C1 RU 2530252C1 RU 2013158838/08 A RU2013158838/08 A RU 2013158838/08A RU 2013158838 A RU2013158838 A RU 2013158838A RU 2530252 C1 RU2530252 C1 RU 2530252C1
Authority
RU
Russia
Prior art keywords
motion vector
current block
block
image
encoding
Prior art date
Application number
RU2013158838/08A
Other languages
English (en)
Other versions
RU2013158838A (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 RU2013158838A publication Critical patent/RU2013158838A/ru
Application granted granted Critical
Publication of RU2530252C1 publication Critical patent/RU2530252C1/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/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/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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/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/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/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
    • 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/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

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

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Устройства и способы, сопоставимые с примерными вариантами осуществления, относятся к кодированию и декодированию вектора движения и, более конкретно, к кодированию и декодированию вектора движения путем прогнозирования вектора движения текущего блока.
УРОВЕНЬ ТЕХНИКИ
Кодек, такой как продвинутое кодирование (AVC) видеосигнала 4Н.264/MPEG-4 от экспертной группы (MPEG) по вопросам движущегося изображения, использует векторы движения ранее кодированных блоков, смежных с текущим блоком для прогнозирования вектора движения текущего блока. То есть медиана векторов движения ранее кодированных блоков, смежных с левой, верхней и правой верхней сторонами текущего блока, может быть использована в качестве предиктора (предсказателя) вектора движения текущего блока.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Решение проблемы
Один или более примерных вариантов осуществления обеспечивают способ и устройство для кодирования и декодирования вектора движения, а также считываемый компьютером носитель информации, на котором записана компьютерная программа для исполнения способа.
Преимущественные эффекты изобретения
В соответствии с настоящим изобретением, вектор движения настоящего блока может быть точно спрогнозирован и кодирован на основании этого прогноза.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеуказанные и другие аспекты будут более очевидны с помощью подробного описания примерных вариантов осуществления со ссылкой на приложенные чертежи, на которых:
Фиг. 1 является структурной схемой устройства для кодирования изображения, в соответствии с примерным вариантом осуществления;
Фиг. 2 является структурной схемой устройства для декодирования изображения, в соответствии с примерным вариантом осуществления;
Фиг. 3 изображает элемент иерархического кодирования, в соответствии с примерным вариантом осуществления;
Фиг. 4 является структурной схемой кодера изображения на основании элемента кодирования, в соответствии с примерным вариантом осуществления;
Фиг. 5 является структурной схемой декодера изображения на основании элемента кодирования, в соответствии с примерным вариантом осуществления;
Фиг. 6 изображает максимальный элемент кодирования, подэлемент кодирования и элемент прогнозирования, в соответствии с примерным вариантом осуществления;
Фиг. 7 изображает элемент кодирования и элемент преобразования, в соответствии с примерным вариантом осуществления;
Фиг. 8А-8D изображают формы разделения элемента кодирования, элемента прогнозирования и элемента преобразования, в соответствии с примерным вариантом осуществления;
Фиг. 9 является структурной схемой устройства для декодирования вектора движения, в соответствии с примерным вариантом осуществления;
Фиг. 10А и 10В изображают кандидатов предикторов вектора движения в явном режиме, в соответствии с примерным вариантом осуществления;
Фиг. 10С-10Е изображают блоки, имеющие различные размеры, которые являются смежными с текущим блоком, в соответствии с примерным вариантом осуществления;
Фиг. 11А-11С изображают кандидатов предикторов вектора движения в открытом режиме, в соответствии с другим примерным вариантом осуществления;
Фиг. 12А изображает способ генерирования предиктора вектора движения в неявном режиме, в соответствии с примерным вариантом осуществления;
Фиг. 12В изображает способ поиска предиктора вектора движения в неявном режиме, в соответствии с примерным вариантом осуществления;
Фиг. 12С и 12D изображают шаблоны, использованные для генерирования предикторов векторов движения, в соответствии с примерным вариантом осуществления;
Фиг. 13 является структурной схемой устройства для декодирования вектора движения, в соответствии с примерным вариантом осуществления;
Фиг. 14 является блок-схемой последовательности операций способа кодирования вектора движения, в соответствии с примерным вариантом осуществления; и
Фиг. 15 является блок-схемой последовательности операций способа декодирования вектора движения, в соответствии с примерным вариантом осуществления.
НАИЛУЧШЕЕ ТЕХНИЧЕСКОЕ ВЫПОЛНЕНИЕ ИЗОБРЕТЕНИЯ
В соответствии с одним аспектом примерного варианта осуществления, обеспечен способ кодирования вектора движения, причем способ включает в себя: выбор из первого режима и второго режима, первый режим, в котором кодируется информация, указывающая предиктор вектора движения из по меньшей мере одного предиктора вектора движения, или второй режим, в котором кодируется информация, указывающая генерирование предиктора вектора движения на основании пикселей, включенных в ранее кодированную область, смежную с текущим блоком; определение предиктора вектора движения текущего блока, в соответствии с выбранным режимом, и кодирование информации о предикторе вектора движения текущего блока; и кодирование вектора разницы между вектором движения текущего блока и предиктором вектора движения текущего блока; при этом второй режим является режимом, в котором кодируется информация, указывающая генерирование предиктора вектора движения с помощью установки диапазона, в котором предиктор вектора движения должен быть найден, на основании по меньшей мере одного предиктора вектора движения, и с помощью поиска внутри диапазона поиска с использованием пикселей, включенных в ранее кодированную область.
Выбор первого режима или второго режима содержит выбор первого режима или второго режима на основании глубины, указывающей степень уменьшения от размера максимального элемента кодирования текущего изображения или фрагмента до размера текущего блока.
Выбор первого режима или второго режима содержит выбор первого режима или второго режима в элементе текущего изображения или фрагмента, содержащем текущий блок.
Выбор первого режима или второго режима содержит выбор первого режима или второго режима на основании того, кодирован ли текущий блок в режиме пропуска.
По меньшей мере один предиктор вектора движения может включать в себя первый вектор движения блока, смежного с левой стороной текущего блока; второй вектор движения блока, смежного с верхней стороной текущего блока; и третий вектор движения блока, смежного с правой верхней стороной текущего блока.
По меньшей мере один предиктор вектора движения может дополнительно включать в себя медианное значение первого вектора движения, второго вектора движения и третьего вектора движения.
По меньшей мере один предиктор вектора движения может дополнительно включать в себя предиктор вектора движения, генерированный на основании вектора движения блока, совмещенного с текущим блоком в опорном изображении, и временного расстояния между опорным изображением и текущим изображением.
Кодирование информации о предикторе вектора движения текущего блока может включать в себя кодирование информации, указывающей, является ли блок, совмещенный с текущим блоком, блоком изображения, предшествующего по времени текущему изображению, или блоком изображения, следующего по времени за текущим изображением.
Информация, указывающая, является ли блок, совмещенный с текущим блоком, блоком изображения, предшествующего по времени текущему изображению, или блоком изображения, следующего по времени за текущим изображением, может быть вставлена в заголовок фрагмента, в который включен текущей блок.
В соответствии с аспектом другого примерного варианта осуществления, обеспечено устройство для кодирования вектора движения, причем устройство включает в себя: элемент прогнозирования, который выбирает из первого режима и второго режима, первый режим, в котором кодируется информация, указывающая один из по меньшей мере одного предиктора вектора движения, или второй режим, в котором кодируется информация, указывающая генерирование предиктора вектора движения на основании пикселей, включенных в ранее кодированную область, смежную с текущим блоком; первый кодер, который определяет предиктор вектора движения текущего блока в соответствии с выбранным режимом и кодирует информацию о предикторе вектора движения текущего блока; и второй кодер, который кодирует вектор разницы между вектором движения текущего блока и предиктором вектора движения текущего блока; при этом второй режим является режимом, в котором кодируется информация, указывающая генерирование предиктора вектора движения с помощью установки диапазона, в котором предиктор вектора движения должен быть найден, на основании по меньшей мере одного предиктора вектора движения, и с помощью поиска внутри диапазона поиска с использованием пикселей, включенных в ранее кодированную область.
В соответствии с аспектом другого примерного варианта осуществления, обеспечен способ декодирования вектора движения, причем способ включает в себя: декодирование информации о предикторе вектора движения текущего блока, кодированной в соответствии с режимом, выбранным из первого режима и второго режима; декодирование вектора разницы между вектором движения текущего блока и предиктором вектора движения текущего блока; генерирование предиктора вектора движения текущего блока на основании декодированной информации о предикторе вектора движения текущего блока; и восстановление вектора движения текущего блока на основании генерированного предиктора вектора движения и декодированного вектора разницы; при этом первый режим является режимом, в котором кодируется информация, указывающая один из по меньшей мере одного предиктора вектора движения, а второй режим является режимом, в котором кодируется информация, указывающая генерирование предиктора вектора движения с помощью установки диапазона, в котором предиктор вектора движения должен быть найден, на основании по меньшей мере одного предиктора вектора движения, и с помощью поиска внутри диапазона поиска с использованием пикселей, включенных в ранее кодированную область, смежную с текущим блоком.
В соответствии с аспектом другого примерного варианта осуществления, обеспечено устройство для декодирования вектора движения, причем устройство включает в себя: первый декодер, который декодирует информацию о предикторе вектора движения текущего блока, кодированную в соответствии с режимом, выбранным из первого режима и второго режима; второй декодер, который кодирует вектор разницы между вектором движения текущего блока и предиктором вектора движения текущего блока; элемент прогнозирования, который генерирует предиктор вектора движения текущего блока на основании декодированной информации о предикторе вектора движения текущего блока; и устройство восстановления вектора движения, которое восстанавливает вектор движения текущего блока на основании генерированного предиктора вектора движения и декодированного вектора разницы; при этом первый режим является режимом, в котором кодируется информация, указывающая один из по меньшей мере одного предиктора вектора движения, а второй режим является режимом, в котором кодируется информация, указывающая генерирование предиктора вектора движения с помощью установки диапазона, в котором предиктор вектора движения должен быть найден, на основании по меньшей мере одного предиктора вектора движения, и с помощью поиска внутри диапазона поиска с использованием пикселей, включенных в ранее кодированную область, смежную с текущим блоком.
В соответствии с аспектом другого примерного варианта осуществления, обеспечен считываемый компьютером носитель информации, на котором записана компьютерная программа для исполнения способа кодирования вектора движения и способа декодирования вектора движения.
В соответствии с аспектом другого примерного варианта осуществления, обеспечен способ кодирования вектора движения, причем способ включает в себя: выбор из первого режима и второго режима, первый режим, в котором кодируется информация, указывающая предиктор вектора движения из по меньшей мере одного предиктора вектора движения, или второй режим, в котором кодируется информация, указывающая генерирование предиктора вектора движения на основании пикселей, включенных в ранее кодированную область, смежную с текущим блоком; определение предиктора вектора движения текущего блока, в соответствии с выбранным режимом, и кодирование информации о предикторе вектора движения текущего блока; и кодирование вектора разницы между вектором движения текущего блока и предиктором вектора движения текущего блока.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Конкретные примерные варианты осуществления описаны более подробно ниже со ссылкой на сопровождающие чертежи. Выражения «по меньшей мере», предшествующие списку элементов, изменяют список элементов в целом и не изменяют отдельные элементы списка. В настоящей спецификации, «изображение» может означать отдельный кадр видео либо движущееся изображение, то есть само видео.
В последующем описании, похожие ссылочные позиции на чертежах используются для похожих элементов, даже на различных чертежах. Объекты, определенные в описании, такие как подробная конструкция и элементы, обеспечены для полного понимания примерных вариантов осуществления. Однако примерные варианты осуществления могут быть исполнены без этих конкретно определенных объектов.
Фиг. 1 является структурной схемой устройства 100 кодирования изображения для кодирования изображения, в соответствии с примерным вариантом осуществления. Устройство 100 кодирования изображения может быть осуществлено как устройство аппаратного обеспечения, например, как процессор компьютера или компьютерной системы. Устройство 100 кодирования изображения, либо один или несколько его компонентов, может также быть осуществлено как модуль программного обеспечения, находящийся в компьютерной системе.
Со ссылкой на Фиг. 1, устройство 100 кодирования изображения включает в себя устройство 110 разделения максимального элемента кодирования, устройство 120 определения глубины кодирования, кодер 130 данных изображения и кодер 140 информации кодирования, которые могут быть осуществлены, например, в качестве аппаратного обеспечения или модулей программного обеспечения, интегрированных в устройство 100 кодирования изображения, или отдельных от устройства 100 кодирования изображения.
Устройство 110 разделения максимального элемента кодирования может разделять текущий кадр или фрагмент на основании максимального элемента кодирования, то есть элемента кодирования наибольшего размера. Устройство 110 разделения максимального элемента кодирования может разделять текущий кадр или фрагмент по меньшей мере на один максимальный элемент кодирования.
В соответствии с примерным вариантом осуществления, элемент кодирования может быть представлен с использованием максимального элемента кодирования и глубины. Как описано выше по тексту, максимальный элемент кодирования указывает элемент кодирования, имеющий наибольший размер из числа элементов кодирования текущего кадра, а глубина указывает степень иерархического уменьшения элемента кодирования. По мере увеличения глубины, элемент кодирования может уменьшаться от максимального элемента кодирования до минимального элемента кодирования, причем глубина максимального элемента кодирования определяется как минимальная глубина, а глубина минимального элемента кодирования определяется как максимальная глубина. Так как размер элемента кодирования уменьшается от максимального элемента кодирования по мере увеличения глубины, то подэлемент кодирования глубины k может включать в себя множество подэлементов кодирования глубины (k+n) (где k и n являются целыми числами, равными или больше чем 1).
В соответствии с увеличением размера кадра, который должен быть кодирован, кодирование изображения в элементе кодирования большего размера может привести к большему коэффициенту сжатия изображения. Однако если больший элемент кодирования зафиксирован, то изображение не может быть эффективно кодировано путем отражения непрерывно меняющихся характеристик изображения.
Например, когда кодируется однородная область, такая как море или небо, то чем больше элемент кодирования, тем больше коэффициент сжатия. Однако когда кодируется сложная область, такая как люди или здания, то чем меньше элемент кодирования, тем больше коэффициент сжатия.
Соответственно, в примерном варианте осуществления, различный максимальный элемент кодирования изображения и различная максимальная глубина устанавливаются для каждого кадра или фрагмента. Так как максимальная глубина означает максимальное число раз, на которое может увеличиться элемент кодирования, то размер каждого минимального элемента кодирования, включенный в максимальный элемент кодирования изображения, может быть по-разному установлен в соответствии с максимальной глубиной. Максимальная глубина может быть определена различно для каждого кадра или фрагмента, либо для каждого максимального элемента кодирования.
Устройство 120 определения глубины кодирования определяет форму разделения максимального элемента кодирования. Форма разделения может быть определена на основании вычисления издержек норма-искажение (RD). Определенная форма разделения максимального элемента кодирования обеспечена на кодер 140 информации кодирования, и данные изображения в соответствии с максимальными элементами кодирования обеспечены на кодер 130 данных изображения.
Максимальный элемент кодирования может быть разделен на подэлементы кодирования, имеющие различные размеры в соответствии с различными глубинами, и подэлементы кодирования, имеющие различные размеры, которые включены в максимальные элементы, могут быть спрогнозированы или преобразованы частотно на основании элементов обработки, имеющих различные размеры. Другими словами, устройство 100 кодирования изображения может выполнять множество обрабатывающих функций для кодирования изображения на основании элементов обработки, имеющих различные размеры и различные формы. Для кодирования данных изображения, выполняются обрабатывающие функции, такие как прогнозирование, преобразование и энтропийное кодирование, причем элементы обработки, имеющие одинаковый размер или различные размеры, могут быть использованы для каждой функции.
Например, устройство 100 кодирования изображения может выбирать элемент обработки, который отличен от элемента кодирования, для прогнозирования элемента кодирования.
Когда размер элемента кодирования равен 2N×2N (где N является положительным целым числом), элементы обработки для прогнозирования могут быть размером 2N×2N, 2N×N, N×2N и N×N. Другими словами, прогнозирование движения может быть выполнено на основании элемента обработки, имеющего форму, при которой по меньшей мере одна высота и одна ширина элемента кодирования могут быть разделены пополам без остатка. В дальнейшем в данном документе, элемент обработки, являющийся основанием прогнозирования, определяется как элемент прогнозирования.
Режим прогнозирования может быть по меньшей мере одним из режимов: внутренний (intra) режим, взаимный (inter) режим и режим пропуска; причем конкретный режим прогнозирования может быть выполнен только для элемента прогнозирования, имеющего конкретный размер или конкретную форму. Например, внутренний режим может быть выполнен только для элементов прогнозирования, имеющих размеры 2N×2N и N×N и форму квадрата. Дополнительно, режим пропуска может быть выполнен только для элемента прогнозирования, имеющего размер 2N×2N. Если в элементе кодирования существуют множество элементов прогнозирования, то режим прогнозирования по меньшей мере с ошибками кодирования может быть выбран после выполнения прогнозирования для каждого элемента прогнозирования.
Альтернативно, устройство 100 кодирования изображения может выполнять преобразование частоты данных изображения на основании элемента обработки, имеющего размер, отличный от размера элемента кодирования. Для преобразования частоты в элементе кодирования, преобразование частоты может быть выполнено на основании элемента обработки, имеющего размер, равный или меньше, чем размер элемента кодирования. В дальнейшем в данном документе, элемент обработки, который является основанием преобразования частоты, определяется как элемент преобразования. Преобразование частоты может быть дискретным косинусным преобразованием (DCT) либо преобразованием (KLT) Карунена-Лоэва.
Устройство 120 определения глубины кодирования может определять подэлементы кодирования, включенные в максимальный элемент кодирования, используя оптимизацию RD на основании множителя Лагранжа. Другими словами, устройство 120 определения глубины кодирования может определять, какую форму имеют множество подэлементов кодирования, разделенных из максимального элемента кодирования, причем множество подэлементов кодирования имеют различные размеры в соответствии с глубинами подэлементов кодирования. Кодер 130 данных изображения выводит поток двоичных данных путем кодирования максимального элемента кодирования на основании форм разделения, определенных устройством 120 определения глубины кодирования.
Кодер 140 информации кодирования кодирует информацию о режиме кодирования максимального элемента кодирования, определенного устройством 120 определения глубины кодирования. Другими словами, кодер 140 информации кодирования выводит поток двоичных данных путем кодирования информации о форме разделения максимального элемента кодирования, информации о максимальной глубине и информации о режиме кодирования подэлемента кодирования для каждой глубины. Информация о режиме кодирования подэлемента кодирования может включать в себя информацию об элементе прогнозирования подэлемента кодирования, информацию о режиме прогнозирования для каждого элемента прогнозирования и информацию об элементе преобразования элементе подкодирования.
Информация о форме разделения максимального элемента кодирования может быть сигнальной информацией, указывающей, разделен ли каждый элемент кодирования. Например, когда максимальный элемент кодирования разделен и кодирован, кодируется информация, указывающая, разделен ли максимальный элемент кодирования. Также, когда подэлемент кодирования, разделенный из максимального элемента кодирования, разделен и кодирован, кодируется информация, указывающая, разделен ли подэлемент кодирования.
Так как подэлементы кодирования, имеющие различные размеры, существуют для каждого максимального элемента кодирования, и информация о режиме кодирования определяется для каждого подэлемента кодирования, то информация по меньшей мере об одном режиме кодирования может быть определена для одного максимального элемента кодирования.
Устройство 100 кодирования изображения может генерировать подэлементы кодирования путем равного разделения высоты и ширины максимального элемента кодирования на два, в соответствии с увеличением глубины. То есть, когда размер элемента кодирования глубины k равен 2N×2N, то размер элемента кодирования глубины (k+1) равен N×N.
Соответственно, устройство 100 кодирования изображения может определять оптимальную форму разделения для каждого максимального элемента кодирования на основании размеров максимального элемента кодирования и максимальной глубины в отношении к характеристикам изображения.
Фиг. 2 является структурной схемой устройства 200 декодирования изображения для декодирования изображения в соответствии с примерным вариантом осуществления. Устройство 200 декодирования изображения может быть осуществлено в качестве технического средства, такого как, например, процессор компьютера или компьютерная система. Устройство 200 декодирования изображения либо один или более его компонентов может быть также осуществлено в качестве модуля программного обеспечения, находящегося в компьютерной системе.
Со ссылкой на Фиг. 2, устройство 200 декодирования изображения включает в себя элемент 210 получения данных изображения, устройство 220 извлечения информации кодирования и декодер 230 данных изображения, которые могут быть осуществлены, например, в качестве аппаратного обеспечения или модулей программного обеспечения, интегрированных в устройство 200 декодирования изображения либо находящихся отдельно от устройства 200 декодирования изображения.
Элемент 210 получения данных изображения принимает данные изображения в соответствии с максимальными элементами кодирования путем разбора потока двоичных данных, принятых устройством 200 декодирования изображения, и выводит данные изображения на декодер 230 данных изображения. Элемент 210 получения данных изображения может извлекать информацию о максимальном элементе кодирования текущего кадра или фрагмента из заголовка текущего кадра или фрагмента. Другими словами, элемент 210 получения данных изображения разделяет поток двоичных данных в максимальном элементе кодирования, так что декодер 230 данных изображения может декодировать данные изображения в соответствии с максимальными элементами кодирования.
Устройство 220 извлечения информации кодирования извлекает информацию о максимальном элементе кодирования, максимальной глубине, форме разделения максимального элемента кодирования и режиме кодирования подэлементов кодирования из заголовка текущего кадра путем разбора потока двоичных данных, принятых устройством 200 декодирования изображения. Информация о форме разделения и информация о режиме кодирования обеспечена на декодер 230 данных изображения.
Информация о форме разделения максимального элемента кодирования может включать в себя информацию о подэлементах кодирования, имеющих различные размеры в соответствии с глубинами и включенных в максимальный элемент кодирования, и может быть сигнальной информацией, указывающей, разделен ли каждый элемент кодирования.
Информация о режиме кодирования может включать в себя информацию об элементе прогнозирования в соответствии с подэлементами кодирования, информацию о режиме прогнозирования и информацию об элементе преобразования.
Декодер 230 данных изображения восстанавливает текущий кадр путем декодирования данных изображения каждого максимального элемента кодирования на основании информации, извлеченной устройством 220 извлечения информации кодирования.
Декодер 230 данных изображения может декодировать подэлементы кодирования, включенные в максимальный элемент кодирования, на основании информации о форме разделения максимального элемента кодирования. Процесс декодирования может включать в себя процесс прогнозирования, включающий внутреннее прогнозирование и компенсацию движения, и процесс обратного преобразования.
Декодер 230 данных изображения может выполнять внутреннее прогнозирование или взаимное прогнозирование на основании информации об элементе прогнозирования и информации о режиме прогнозирования, чтобы прогнозировать элемент прогнозирования. Декодер 230 данных изображения может также выполнять обратное преобразование для каждого подэлемента кодирования на основании информации об элементе преобразования подэлемента кодирования.
Фиг. 3 изображает элементы иерархического кодирования в соответствии с примерным вариантом осуществления.
Со ссылкой на Фиг. 3, элементы иерархического кодирования могут включать в себя элементы кодирования, ширина и высота которых равны 64×64, 32×32, 16×16, 8×8 и 4×4. Кроме этих элементов кодирования, имеющих форму правильного квадрата, могут существовать также элементы кодирования, имеющие ширину и высоту 64×32, 32×64, 32×16, 16×32, 16×8, 8×16 и 4×8.
Со ссылкой на Фиг. 3, для набора 310 данных изображения с разрешением 1920×1080, установленный размер максимального элемента кодирования равен 64×64, а установленная максимальная глубина равна 2.
Для набора 320 данных изображения с разрешением 1920×1080, установленный размер максимального элемента кодирования равен 64×64, а установленная максимальная глубина равна 3. Для набора 330 данных изображения с разрешением 352×288, установленный размер максимального элемента кодирования равен 16×16, а установленная максимальная глубина равна 1.
Когда разрешение является высоким, либо когда объем данных велик, максимальный размер элемента кодирования может быть относительно большим, чтобы увеличить коэффициент сжатия и сделать характеристики отраженного изображения более точными. Соответственно, для наборов 310 и 320 данных изображения с более высоким разрешением, нежели у набора 330 данных изображения, в качестве размера максимального элемента кодирования может быть выбран 64×64.
Максимальная глубина указывает общее число слоев в элементах иерархического кодирования. Так как максимальная глубина набора 310 данных изображения равна 2, то элемент 315 кодирования набора 310 данных изображения может включать в себя максимальный элемент кодирования, размер длинной оси которого равен 64, и подэлементы кодирования, размеры длинных осей которых равны 32 и 16, в соответствии с увеличением глубины.
С другой стороны, так как максимальная глубина набора 330 данных изображения равна 1, то элемент 335 кодирования набора 330 данных изображения может включать в себя максимальный элемент кодирования, размер длинной оси которого равен 16, и подэлементы кодирования, размер длинной оси которых равен 8, в соответствии с увеличением глубины.
Однако, так как максимальная глубина данных 320 изображения равна 3, то элемент 325 кодирования набора 320 данных изображения может включать в себя максимальный элемент кодирования, размер длинной оси которого равен 64, и подэлементы кодирования, размеры длинных осей которых равны 32, 16, 8 и 4, в соответствии с увеличением глубины. Так как изображение кодировано на основании меньшего подэлемента кодирования по мере увеличения глубины, то примерные варианты осуществления подходят для кодирования изображения, включающего в себя более длинные сцены.
Фиг. 4 является структурной схемой устройства 400 кодирования изображения на основании элемента кодирования, в соответствии с примерным вариантом осуществления. Устройство 400 кодирования изображения, либо один или более его компонентов, может быть осуществлено в качестве технического средства, например, процессора компьютера, или модуля программного обеспечения, находящегося в компьютерной системе.
Внутренний предиктор 410 выполняет внутреннее прогнозирование на элементах прогнозирования в режиме внутреннего прогнозирования в текущем кадре 405, а устройство 420 оценки движения и устройство 425 компенсации движения выполняют взаимное прогнозирование и компенсацию движения на элементах прогнозирования в режиме взаимного прогнозирования, используя текущий кадр 405 и опорный кадр 495. Внутренний предиктор 410, устройство 420 оценки движения, устройство 425 компенсации и опорный кадр 495 могут быть осуществлены, например, в качестве аппаратного обеспечения или модулей программного обеспечения, интегрированных в устройство 400 кодирования изображения, либо находящихся отдельно от устройства 400 кодирования изображения.
Остаточные значения генерируются на основании вывода элементов прогнозирования из внутреннего предиктора 410, устройства 420 оценки движения и устройства 425 компенсации движения. Генерированные остаточные значения являются выводом в виде квантованных коэффициентов преобразования при прохождении через устройство 430 преобразования и устройство 440 квантования.
Квантованные коэффициенты преобразования восстанавливаются до остаточных значений при прохождении через устройство 460 обратного квантования и устройство 470 обратного преобразования, а восстановленные остаточные значения проходят последующую обработку при прохождении через элемент 480 деблокирования и элемент 490 цикличной фильтрации и выводятся в виде опорного кадра 495. Квантованные коэффициенты преобразования могут быть выводом в виде потока 455 двоичных данных при прохождении через устройство 450 энтропийного кодирования.
Для выполнения кодирования на основании способа кодирования в соответствии с примерным вариантом осуществления, внутренний предиктор 410, устройство 420 оценки движения, устройство 425 компенсации движения, устройство 430 преобразования, устройство 440 квантования, устройство 450 энтропийного кодирования, устройство 460 обратного квантования, устройство 470 обратного преобразования, элемент 480 деблокирования и элемент 490 цикличной фильтрации устройства 400 кодирования изображения выполняют процессы кодирования на основании максимального элемента кодирования, подэлемента кодирования в соответствии с глубинами, элементом прогнозирования и элементом преобразования.
Фиг. 5 является структурной схемой устройства 500 декодирования изображения на основании элемента кодирования, в соответствии с примерным вариантом осуществления. Декодер 500 изображения, либо один или более его компонентов, может быть осуществлен в качестве технического средства, например, процессора компьютера, или модуля программного обеспечения, находящегося в компьютерной системе.
Поток 505 двоичных данных проходит через устройство 510 разбора, так что происходит разбор данных кодированного изображения, подлежащих декодированию, и информации кодирования, используемой для декодирования. Данные кодированного изображения выводятся в виде обратно квантованных данных при прохождении через устройство 520 энтропийного кодирования и устройство 530 обратного квантования и восстанавливаются до остаточных значений при прохождении через устройство 540 обратного преобразования. Остаточные значения восстанавливаются в соответствии с элементами кодирования путем их добавления к результату внутреннего прогнозирования внутреннего предиктора 550 или к результату компенсации движения устройства 560 компенсации движения. Восстановленные элементы кодирования используются для прогнозирования следующих элементов кодирования или следующего кадра при прохождении через элемент 570 деблокировки и элемент 580 цикличной фильтрации. Устройство 510 разбора, устройство 520 энтропийного кодирования, устройство 530 обратного квантования, устройство 540 обратного преобразования, внутренний предиктор 550, устройство 560 компенсации, элемент 570 деблокировки и элемент 580 цикличной фильтрации могут быть осуществлены, например, в качестве аппаратного обеспечения или модулей программного обеспечения, интегрированных в устройство 500 кодирования изображения либо находящихся отдельно от устройства 500 кодирования изображения.
Для выполнения декодирования на основании способа деблокирования в соответствии с примерным вариантом осуществления, устройство 510 разбора, устройство 520 энтропийного кодирования, устройство 530 обратного квантования, устройство 540 обратного преобразования, внутренний предиктор 550, устройство 560 компенсации, элемент 570 деблокировки и элемент 580 цикличной фильтрации устройства 500 кодирования изображения выполняют процессы декодирования изображения на основании максимального элемента кодирования, подэлемента кодирования в соответствии с глубинами, элементом прогнозирования и элементом преобразования.
Более конкретно, внутренний предиктор 550 и устройство 560 компенсации определяют элемент прогнозирования и режим прогнозирования в подэлементе кодирования путем рассмотрения максимального элемента кодирования и глубины, а устройство 540 обратного преобразования выполняет обратное преобразование путем рассмотрения размера элемента преобразования.
Фиг. 6 изображает максимальный элемент кодирования, подэлемент кодирования и элемент прогнозирования в соответствии с примерным вариантом осуществления.
Устройство 100 кодирования изображения, проиллюстрированное на Фиг. 1, и устройство 200 декодирования изображения, проиллюстрированное на Фиг. 2, используют элементы иерархического кодирования для выполнения кодирования и декодирования в отношении характеристик изображения. Максимальный элемент кодирования и максимальная глубина могут быть адаптивно установлены в соответствии с характеристиками изображения либо установлены по-разному в соответствии с требованиями пользователя.
На Фиг. 6, структура 600 элемента иерархического кодирования имеет максимальный элемент 610 кодирования, который является максимальным элементом кодирования, высота и ширина которого равны 64, а максимальная глубина - 4. Глубина увеличивается по вертикальной оси структуры 600 элемента иерархического кодирования, и по мере увеличения глубины, высота и ширина подэлементов 620-650 кодирования уменьшаются. Элементы прогнозирования максимального элемента 610 кодирования и подэлементы 620-650 кодирования изображены вдоль горизонтальной оси структуры 600 элемента иерархического кодирования.
Максимальный элемент 610 кодирования имеет глубину 0 и размер элемента кодирования, или высоту и ширину, 64×64. Глубина увеличивается по вертикальной оси, и там же находится первый подэлемент 620 кодирования, размер которого равен 32×32, а глубина - 1, второй подэлемент 630 кодирования, размер которого равен 16×16, а глубина - 2, третий подэлемент 640 кодирования, размер которого равен 8×8, а глубина - 3, и минимальный элемент 650 кодирования, размер которого равен 4×4, а глубина - 4. Минимальный элемент 650 кодирования, размер которого равен 4×4, а глубина - 4, является минимальным элементом кодирования, и минимальный элемент кодирования может быть разделен на элементы прогнозирования, причем каждый из них меньше, чем минимальный элемент кодирования.
Со ссылкой на Фиг. 6, примеры элементов прогнозирования изображены вдоль горизонтальной оси в соответствии с каждой глубиной. То есть элемент прогнозирования максимального элемента 610 кодирования, глубина которого равна 0, может быть элементом прогнозирования, размер которого равен размеру 64×64 максимального элемента кодирования, либо элементом 612 прогнозирования, размер которого равен 64×32, элементом 614 прогнозирования, размер которого равен 32×64, или элементом 616 прогнозирования, размер которого равен 32×32, и иметь размер меньше, чем размер максимального элемента кодирования, размер которого равен 64×64.
Элемент прогнозирования первого подэлемента 620 кодирования, глубина которого равна 1, а размер - 32×32, может быть элементом прогнозирования, размер которого равен размеру 32×32 первого подэлемента кодирования, либо элементом 622 прогнозирования, размер которого равен 32×16, элементом 624 прогнозирования, размер которого равен 16×32, или элементом 626 прогнозирования, размер которого равен 16×16, и иметь размер меньше, чем размер первого подэлемента 620 кодирования, размер которого равен 32×32.
Элемент прогнозирования второго подэлемента 630 кодирования, глубина которого равна 2, а размер - 16×16, может быть элементом прогнозирования, размер которого равен размеру 16×16 второго подэлемента 630 кодирования, либо элементом 632 прогнозирования, размер которого равен 16×8, элементом 634 прогнозирования, размер которого равен 8×16, или элементом 636 прогнозирования, размер которого равен 8×8, и иметь размер меньше, чем размер второго подэлемента 630 кодирования, размер которого равен 16×16.
Элемент прогнозирования третьего подэлемента 640 кодирования, глубина которого равна 3, а размер - 8×8, может быть элементом прогнозирования, размер которого равен размеру 8×8 третьего подэлемента 640 кодирования, либо элементом 642 прогнозирования, размер которого равен 8×4, элементом 644 прогнозирования, размер которого равен 4×8, или элементом 646 прогнозирования, размер которого равен 4×4, и иметь размер меньше, чем размер третьего подэлемента 640 кодирования, размер которого равен 8×8.
Минимальный элемент 650 кодирования, глубина которого равна 4, а размер - 4×4 является минимальным элементом кодирования и элементом кодирования с максимальной глубиной. Элемент прогнозирования минимального элемента 650 кодирования может быть элементом 650 прогнозирования, размер которого равен 4×4, элементом 652 прогнозирования, размер которого равен 4×2, элементом 654 прогнозирования, размер которого равен 2×4, или элементом 656 прогнозирования, размер которого равен 2×2.
Фиг. 7 изображает элемент кодирования и элемент преобразования в соответствии с примерным вариантом осуществления.
Устройство 100 кодирования изображения, проиллюстрированное на Фиг. 1, и устройство 200 декодирования изображения, проиллюстрированное на Фиг. 2, выполняют кодирование и декодирование с помощью самого максимального элемента кодирования или с помощью подэлементов кодирования, которые равны или меньше, чем максимальный элемент кодирования и разделены из максимального элемента кодирования. В процессе кодирования и декодирования, размер элемента преобразования для частотного преобразования выбирается не больше, чем размер соответствующего элемента кодирования. Например, если текущий элемент 710 кодирования имеет размер 64×64, то частотное преобразование может быть выполнено с помощью элемента 720 преобразования, имеющего размер 32×32.
Фиг. 8А, 8В, 8С и 8D изображают формы разделения элемента 810 кодирования, элемент 860 прогнозирования и элемент 870 преобразования, в соответствии с примерным вариантом осуществления.
Фиг. 8А и 8В изображают элемент 810 кодирования и элемент 860 прогнозирования, в соответствии с примерным вариантом осуществления.
Фиг. 8А изображает форму разделения, выбранную устройством 100 кодирования изображения, проиллюстрированным на Фиг. 1, для кодирования максимального элемента 810 кодирования. Устройство 100 кодирования изображения разделяет максимальный элемент 810 кодирования на различные формы, выполняет кодирование и выбирает оптимальную форму разделения путем сравнения результатов кодирования различных форм кодирования друг с другом на основании издержек RD. Когда оптимально кодировать максимальный элемент 810 кодирования таким, какой он есть, то максимальный элемент 810 кодирования может быть кодирован без разделения максимального элемента 810 кодирования, как изображено на Фиг. 8А-8D.
Со ссылкой на Фиг. 8А, максимальный элемент 810 кодирования, глубина которого равна 0, кодируется путем его разделения на подэлементы кодирования, глубины которых равны или больше чем 1. То есть максимальный элемент 810 кодирования разделяется на 4 подэлемента кодирования, глубины которых равны 1, и все или некоторые подэлементы кодирования, глубины которых равны 1, разделяются на подэлементы 814, 816, 818, 828, 850 и 852 кодирования, глубины которых равны 2.
Подэлемент кодирования, расположенный в правом верхнем углу, и подэлемент кодирования, расположенный в левом нижнем углу, среди подэлементов кодирования, глубины которых равны 1, разделены на подэлементы кодирования, глубины которых равны или больше 2. Некоторые подэлементы кодирования, глубины которых равны или больше 2, могут быть разделены на подэлементы 820, 822, 824, 826, 830, 832, 840, 842, 844, 846 и 848 кодирования, глубины которых равны или больше 3.
Фиг. 8В изображает форму разделения элемента 860 прогнозирования для максимального элемента 810 кодирования.
Со ссылкой на Фиг. 8В, элемент 860 прогнозирования для максимального элемента 810 кодирования может быть разделен отлично от максимального элемента 810 кодирования. Другими словами, элемент прогнозирования для каждого подэлемента кодирования может быть меньше, чем соответствующий подэлемент кодирования.
Например, элемент прогнозирования для подэлемента 854 кодирования, расположенный в правом нижнем углу среди подэлементов 812, 854 кодирования, глубина которых равна 1, может быть меньше, чем подэлемент 854 кодирования. Дополнительно, элементы прогнозирования для подэлементов 814, 816, 850 и 852 кодирования, глубины которых равны 2, могут быть меньше, чем подэлементы 814, 816, 850 и 852 кодирования, соответственно.
Дополнительно, элементы прогнозирования для подэлементов 822, 832 и 848 кодирования, глубины которых равны 3, могут быть меньше, чем подэлементы 822, 832 и 848 кодирования, соответственно. Элементы прогнозирования могут иметь форму, на которую соответствующие подэлементы кодирования равно делятся на два в направлении высоты или ширины, либо иметь форму, на которую соответствующие подэлементы кодирования равно делятся на четыре в направлениях высоты и ширины.
Фиг. 8С и 8D изображают элемент 860 прогнозирования и элемент 870 преобразования, в соответствии с примерным вариантом осуществления.
Фиг. 8С изображает форму разделения элемента 860 прогнозирования для максимального элемента 810 кодирования, изображенного на Фиг. 8В, а Фиг. 8D изображает форму разделения элемента 870 преобразования для максимального элемента 810 кодирования.
Со ссылкой на Фиг. 8D, форма разделения элемента 870 преобразования может быть установлена отлично от элемента 860 прогнозирования.
Например, даже если элемент прогнозирования для подэлемента 854 кодирования, глубина которого равна 1, выбирается такой формы, на которую высота подэлемента 854 кодирования делится равно на два, элемент преобразования может быть выбран оригинального размера подэлемента 854 кодирования. Подобным образом, даже если элементы прогнозирования для подэлементов 814 и 850 кодирования, глубины которых равны 2, выбраны такой формы, на которую высота каждого из подэлементов 814 и 850 кодирования делится равно на два, элемент преобразования может быть выбран того же размера, что и оригинальный размер каждого из подэлементов 814 и 850 кодирования.
Элемент преобразования может быть выбран меньшего размера, чем элемент прогнозирования. Например, когда элемент прогнозирования для подэлемента 852 кодирования, глубина которого равна 2, выбран такой формы, на которую ширина подэлемента 852 кодирования делится равно на два, элемент преобразования может быть выбран такой формы, на которую подэлемент 852 кодирования делится равно на четыре в направлении высоты и ширины, и быть меньшего размера, чем форма элемента преобразования.
Фиг. 9 является структурной схемой устройства 900 кодирования вектора движения, в соответствии с примерным вариантом осуществления.
Устройство 900 для кодирования вектора движения может быть включено в устройство 100, описанное выше по тексту в отношении Фиг. 1, или декодер 400 изображения, описанный выше по тексту в отношении Фиг. 4. Со ссылкой на Фиг. 9, устройство 900 для кодирования вектора движения, в соответствии с примерным вариантом осуществления, включает в себя элемент 910 прогнозирования, первый кодер 920 и второй кодер 930.
Чтобы декодировать блок, кодированный с помощью взаимного прогнозирования, то есть межкадрового прогнозирования, используется информация о векторе движения, указывающая разницу положения между текущим блоком и подобным блоком в опорном изображении. Таким образом, информация о векторах движения кодируется и вставляется в поток двоичных данных в процессе кодирования изображения. Однако, если информация о векторах движения кодируется и вставляется такой, какая она есть, то непроизводительные затраты кодирования информации о векторах движения увеличиваются, что снижает коэффициент сжатия данных изображения.
Следовательно, в процессе кодирования изображения информация о векторе движения сжимается путем прогнозирования вектора движения текущего блока, кодированием только вектора разницы между предиктором вектора движения, генерированным как результат прогнозирования, и оригинальным вектором движения, и вставления кодированного вектора разницы в поток двоичных данных. Фиг. 9 изображает устройство 900 для кодирования вектора движения, которое использует такой предиктор вектора движения.
Со ссылкой на Фиг. 9, элемент 910 прогнозирования определяет, кодирован ли вектор движения текущего блока на основании явном режима или неявном режима.
Как описано выше по тексту, такой кодек как MPEG-4 H.264/MPEG-4 AVC использует векторы движения ранее кодированных блоков, смежных с текущим блоком, чтобы прогнозировать вектор движения текущего блока. Например, медиана векторов движения ранее кодированных блоков, смежных с левой, верхней и верхней правой сторонами текущего блока, может быть использована в качестве предиктора вектора движения текущего блока. Так как векторы движения всех блоков, кодированных с помощью взаимного прогнозирования, прогнозируются с помощью одного и того же способа, не нужно кодировать отдельно информацию о предикторе вектора движения. Однако устройство 100 или декодер 400 изображения, в соответствии с примерным вариантом осуществления, использует оба режима, то есть режим, в котором информация о предикторе вектора движения не кодируется отдельно, и режим, в котором информация о предикторе вектора движения кодируется отдельно, чтобы более точно прогнозировать вектор движения, что сейчас и будет описано подробно.
(1) явный режим
Один из способов кодирования предиктора вектора движения, который может быть выбран элементом 910 прогнозирования, может быть режим явного кодирования информации о предикторе вектора движения текущего блока. Явный режим является режимом отдельного кодирования информации, указывающей, какой предиктор вектора движения из по меньшей мере одного кандидата предиктора вектора движения используется для прогнозирования вектора движения текущего блока. Кандидаты предикторов вектора движения, в соответствии с примерным вариантом осуществления, будут описаны со ссылками на Фиг. 10А, 10В и 11А-11С.
Фиг. 10А и 10В изображают кандидатов предикторов вектора движения явного режима, в соответствии с примерным вариантом осуществления.
Со ссылкой на Фиг. 10А, способ прогнозирования вектора движения, в соответствии с примерным вариантом осуществления, может использовать один из векторов движения ранее кодированных блоков, смежных с текущим блоком, в качестве предиктора вектора движения текущего блока. Блок а0, крайний слева среди блоков, смежных с верхней стороной текущего блока, блок b0, самый верхний среди блоков, смежных с его левой стороной, блок с, смежный с его верхней правой стороной, блок d, смежный с его верхней левой стороной, и блок е, смежный с его нижней левой стороной, могут быть использованы в качестве предиктора вектора движения текущего блока.
При способе кодирования изображения и способе декодирования изображения, в соответствии с примерным вариантом осуществления, изображение кодируется и декодируется на основании элементов кодирования, имеющих различные размеры, дифференцированные в соответствии с глубинами. Таким образом, вектор движения блока, смежного с нижней левой стороной текущего блока, может также быть использован в качестве предиктора вектора движения текущего блока.
Со ссылкой на Фиг. 8А, если текущий блок является элементом 820 кодирования, элемент 814 кодирования, смежный с верхней левой стороной текущего блока, элемент 816 кодирования в крайнем левом блоке среди блоков, смежных с верхней стороной текущего блока, элемент 818 кодирования в крайнем правом блоке среди блоков, смежных с его левой стороной, элемент 822 кодирования, смежный с его верхней правой стороной, и элемент 824 кодирования, смежный с его нижней левой верхней стороной, кодируются до текущего блока. Таким образом, вектор движения текущего блока, смежный с нижней левой стороной текущего блока, может быть использован в качестве предиктора вектора движения текущего блока.
Со ссылкой на Фиг. 10В, векторы движения всех блоков, смежных с текущим блоком, могут быть использованы в качестве предиктора вектора движения текущего блока. Другими словами, векторы движения не только блока а0, крайнего слева, среди блоков, смежных с верхней стороной текущего блока, но также и все блоки а0-an, смежные с его верхней стороной, могут быть использованы в качестве предиктора вектора движения текущего блока; и векторы движения не только блока b0, самого верхнего среди блоков, смежных с его левой стороной, но также и все блоки b0-bn, смежные с его левой стороной, могут быть использованы в качестве предиктора вектора движения текущего блока.
Альтернативно, медианное значение векторов движения смежных блоков может быть использовано в качестве предиктора вектора движения текущего блока. Другими словами, медиана (mv_a0, mv_b0, mv_c) может быть использована в качестве предиктора вектора движения текущего блока, причем mv_a0 обозначает вектор движения блока а0, mv_b0 обозначает вектор движения блока b0, а mv_c обозначает вектор движения блока с.
Кандидаты предикторов вектора движения текущего блока могут быть ограничены в соответствии с размером текущего блока и размерами блоков, смежных с текущим блоком. Это будет описано более подробно со ссылками на Фиг. 10С-10Е.
Фиг. 10С-10Е изображают блоки, имеющие различные размеры, смежные с текущим блоком, в соответствии с примерным вариантом осуществления.
Как описано выше по тексту, при способе кодирования изображения и способе декодирования изображения, в соответствии с примерным вариантом осуществления, изображение кодируется и декодируется на основании элементов кодирования, имеющих различные размеры, дифференцированные в соответствии с глубинами. Таким образом, размеры блоков, смежных с текущим блоком, могут быть разными. Значит, если размер текущего блока отличается значительно от размеров некоторых из блоков, смежных с текущим блоком, векторы движения одного или более блоков, имеющих различные размеры, смежных с текущим блоком, могут не использоваться в качестве предикторов вектора движения текущего блока.
Со ссылкой на Фиг. 10С, блоки 1014-1018, смежные с верхней стороной текущего блока 1010, являются блоками, имеющими размеры меньше, чем размер текущего блока 1010. Так как есть большая вероятность того, что вектор движения блока 1012, смежного с текущим блоком 1010 и имеющего тот же размер, что и текущий блок 1010, может быть таким же или подобным вектору движения текущего блока 1010, элемент 910 прогнозирования может использовать только вектор движения блока 1012, который смежен с текущим блоком 1010 и имеет тот же размер, что и текущий блок 1010, в качестве предиктора вектора движения.
Даже если размер блока 1012 не совпадает с размером текущего блока 1010, только векторы движения блоков, смежных с текущим блоком 1010 и имеющих заранее заданные размеры, могут быть использованы в качестве предиктора вектора движения. Например, только векторы движения блоков 1012 и 1018, имеющих размеры, которые равны или больше, чем 1/4 размера текущего блока 1010, могут быть использованы в качестве предиктора вектора движения.
Со ссылкой на Фиг. 10D, размер блока 1022, смежного с левой стороной текущего блока 1020, в 16 раз больше размера текущего блока 1020, и между ними существует большая разница. Вследствие этой большой разницы, очень мала вероятность того, что вектор движения блока 1022, смежного с левой стороной текущего блока 1020, может быть тем же или подобным вектору движения текущего блока 1020. Таким образом, вектор движения блока 1022, смежного с левой стороной текущего блока 1020, не может быть использован в качестве предиктора вектора движения текущего блока 1020, и только вектор движения блока 1024, смежного с верхней стороной текущего блока 1020, и вектор движения блока 1026, смежного с верхней левой стороной текущего блока 1020, могут быть использованы в качестве предиктора вектора движения текущего блока 1020.
Со ссылкой на Фиг. 10Е, размер текущего блока 1030 больше, чем размеры всех блоков 1031-1037, смежных с текущим блоком 1030. В таком случае, если векторы движения всех блоков 1031-1037, смежных с текущим блоком 1030, используются в качестве предикторов вектора движения текущего блока 1030, число кандидатов предикторов вектора движения текущего блока 1030 может быть слишком велико. По мере увеличения разницы между размером текущего блока 1030 и размерами блоков 1031-1037, смежных с текущим блоком 1030, число предикторов вектора движения текущего блока 1030 увеличивается. Таким образом, элемент 910 прогнозирования, изображенный на Фиг. 9, не использует векторы движения одного или более блоков, смежных с текущим блоком 1030 в качестве предикторов вектора движения текущего блока 1030.
Например, в примерном варианте осуществления на Фиг. 10Е, вектор движения блока 1031, смежного с нижней левой стороной текущего блока 1030 и вектор движения блока 1037, смежного с верхней правой стороной текущего блока 1030, не обязательно используются в качестве предикторов вектора движения текущего блока 1030.
Таким образом, если размер текущего блока 1030 равен или больше, чем заранее определенный размер, то векторы движения блоков, смежных с текущим блоком 1030, в заранее определенных направлениях не обязательно используются в качестве предикторов вектора движения текущего блока 1030.
Фиг. 11А-11С изображают кандидатов предикторов вектора движения в явном режиме, в соответствии с другим примерным вариантом осуществления.
Фиг. 11А изображает способ вычисления предиктора вектора движения двунаправленного прогнозного изображения (в дальнейшем в данном документе называемого «В изображение» («B кадр»)), в соответствии с примерным вариантом осуществления. Когда текущее изображение, включающее в себя текущий блок, является В изображением, в котором выполняется двунаправленное прогнозирование, то вектор движения, генерированный на основании временной дистанции, может быть предиктором вектора движения.
Предиктор mv_temporal вектора движения текущего блока 1100 текущего изображения 1110 может быть генерирован с помощью вектора движения блока 1120 в совмещенном положении изображения 1112, предшествующего во времени. Например, если вектор mv_colA движения блока 1120 в положении, совмещенном с текущим блоком 1100, генерируется для искомого блока 1122 следующего по времени изображения 1114 текущего изображения 1110, то кандидаты предикторов mv_L0A и mv_L1A вектора движения текущего блока 1100 могут быть генерированы в соответствии с представленными ниже уравнениями:
mv_L1A=(t1/t2)×mv_colA
mv_L0A=mv_L1A-mv_colA,
где mv_L0A обозначает предикторов вектора движения текущего блока 1100 для изображения 1112, предшествующего по времени, а mv_L1A обозначает предиктор вектора движения текущего блока 1100 для изображения 1114, следующего по времени.
В примерном варианте осуществления на Фиг. 11А, текущее изображение 1110, являющееся В изображением, существует между изображением 1112, предшествующим по времени, и изображением 1114, следующим по времени. В этом случае, если вектор mv_colA движения блока 1120 в положении, совмещенном с текущим блоком 1100, генерируется из изображения 1114, следующего по времени, то вектор движения текущего блока 1100 может быть спрогнозирован более точно на основании mv_L1A. Другими словами, по сравнению со случаем, когда mv_colA является вектором движения, имеющим направление, противоположное изображенному на Фиг. 11А, то есть, в случае, когда mv_colA генерируется из другого кадра до изображения 1112, предшествующего по времени, когда mv_colA является вектором движения в направлении Фиг. 11А, то вектор движения текущего блока 1100 может быть спрогнозирован более точно.
Таким образом, если направление от текущего блока 1100 до блока 1120 в положении, совмещенном с текущим блоком 1100, является направлением List0, то вектор mv_colA движения блока 1120 в положении, совмещенном с текущим блоком 1100, должен быть в направлении List1, так что возможность того, что текущее изображение 1110 может существовать между изображением 1112, предшествующим по времени, и изображением 1114, следующим по времени, как изображено на Фиг. 11А, может возрасти, а вектор движения текущего блока 1100 может быть спрогнозирован более точно на основании mv_colA.
Дополнительно, так как изображения 1110-1114, изображенные на Фиг. 11А, расположены во временной последовательности, то предиктор mv_temporal вектора движения текущего блока 1100 может быть генерирован на основании подсчета (РОС) последовательности изображения. Так как изображение, на которое опирается текущий блок 1100, может быть изображением, отличным от изображений 1112 и 1114, изображенных на Фиг. 11А, то предиктор mv_temporal вектора движения текущего блока 1100 генерируется на основании РОС.
Например, если РОС текущего изображения является CurrPOC, а РОС изображения, на которое опирается текущее изображение, - это CurrRefPOC, то предиктор mv_temporal вектора движения текущего блока 1100 может быть генерирован в соответствии с представленными ниже уравнениями:
Scale=(CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC)
mv_temporal=Scale*mv_colA
где ColPOC является POC изображения 1112, предшествующего по времени, в которое включен блок 1120 в положении, совмещенном с текущим блоком 1100, а ColRefPOC является РОС изображения 1114, следующего по времени, в которое включен блок 1122, на который опирается блок 1120 в положении, совмещенном с текущим блоком 1100.
Фиг. 11В изображает способ генерирования предиктора вектора движения В изображением, в соответствии с другим примерным вариантом осуществления. По сравнению со способом, изображенным на Фиг. 11А, блок в положении, совмещенном с текущим блоком 1100, существует в изображении 1114, следующим по времени.
Со ссылкой на Фиг. 11В, предиктор вектора движения текущего блока 1100 текущего изображения 1110 может быть генерирован с помощью вектора движения текущего блока 1130 в положении, совмещенном с изображением 1114, следующим по времени. Например, если вектор mv_colB движения блока 1130 в положении, совмещенном с текущим блоком 1100, генерируется для искомого блока 1132 изображения 1112, предшествующего по времени текущему изображению 1110, то кандидаты предикторов mv_L0B и mv_L1B вектора движения текущего блока 1100 могут быть генерированы в соответствии с представленными ниже уравнениями:
mv_L0B=(t3/t4)×mv_colB
mv_L1B=mv_L0B-mv_colB
где mv_L0B обозначает предиктор вектора движения текущего блока 1100 для изображения 1112, предшествующего по времени, а mv_L1B обозначает предиктор вектора движения текущего блока 1100 для изображения 1114, следующего по времени.
Подобно Фиг. 11А, в примерном варианте осуществления Фиг. 11В, текущее изображение 1110, являющееся В изображением, существует между изображением 1112, предшествующим по времени, и изображением 1114, следующим по времени. Таким образом, если вектор mv_colB движения блока 1130 в положении, совмещенном с текущим блоком 1100, генерируется из изображения 1112, предшествующего по времени, то вектор движения текущего блока 1100 может быть спрогнозирован более точно на основании mv_L0B. Другими словами, по сравнению со случаем, когда mv_colB является вектором движения, имеющим направление, противоположное изображенному на Фиг. 11В, то есть, в случае, когда mv_colB генерируется из другого изображения после изображения 1114, следующего по времени, когда mv_colB является вектором движения в направлении Фиг. 11В, то вектор движения текущего блока 1100 может быть спрогнозирован более точно.
Таким образом, если направление от текущего блока 1100 до блока 1130 в положении, совмещенном с текущим блоком 1100, является направлением List1, то вектор mv_colB движения блока 1130 в положении, совмещенном с текущим блоком 1100, должен быть в направлении List0, так что возможность того, что текущее изображение 1110 может существовать между изображением 1112, предшествующим по времени, и изображением 1114, следующим по времени, как изображено на Фиг. 11В, может возрасти, а вектор движения текущего блока 1100 может быть спрогнозирован более точно на основании mv_colB.
Дополнительно, так как изображение, на которое опирается текущий блок 1100, может быть изображением, отличным от изображений 1112 и 1114, изображенных на Фиг. 11В, то предиктор вектора движения текущего блока 1100 может генерироваться на основании РОС.
Например, если РОС текущего изображения является CurrPOC, а РОС изображения, на которое опирается текущее изображение, - это CurrRefPOC, то предиктор вектора движения текущего блока 1100 может быть генерирован в соответствии с представленными ниже уравнениями:
Scale=(CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC)
mv_temporal=Scale*mv_colB
где ColPOC является POC изображения 1114, следующего по времени, в которое включен блок 1130 в положении, совмещенном с текущим блоком 1100, а ColRefPOC является РОС изображения 1112, предшествующего по времени, в которое включен блок 1132, на который опирается блок 1130 в положении, совмещенном с текущим блоком 1100.
При генерировании вектора движения текущего блока 1100 В изображения с помощью элемента 910 прогнозирования, может быть использован один из способов, изображенных на Фиг. 11А и 11В. Другими словами, так как предиктор вектора движения генерируется с помощью вектора движения и временного расстояния блока 1120 или 1130 в положении, совмещенном с текущим блоком 1100, то предикторы вектора движения могут генерироваться с помощью способов, изображенных на Фиг. 11А и 11В, только если существуют векторы движения блоков 1120 и 1130 в совмещенном положении. Таким образом, элемент 910 прогнозирования, в соответствии с примерным вариантом осуществления, генерирует предиктор вектора движения текущего блока 1100 только с помощью блока, имеющего вектор движения блоков 1120 и 1130 в совмещенном положении.
Например, когда блок 1120 в совмещенном положении изображения 1112, предшествующего по времени, кодируется с помощью внутреннего прогнозирования, а не взаимного прогнозирования, то вектор движения блока 1120 не существует, и, таким образом, предиктор вектора движения текущего блока 1100 не может быть генерирован с помощью способа генерирования предиктора вектора движения, изображенного на Фиг. 11А.
Блок 1120 в положении, совмещенном с изображением 1112, предшествующим по времени, и блок 1130 в положении, совмещенном с изображением 1114, следующим по времени, могут использоваться для генерирования предиктора вектора движения текущего изображения 1110 В изображения с помощью элемента 910 прогнозирования, как изображено на Фиг. 11А и 11В. Таким образом, предиктор вектора движения текущего изображения 1110 может быть декодирован только тогда, когда устройство 900 для кодирования вектора движения знает, какой из блоков 1120 и 1130, в положении, совмещенном с текущим блоком 1100, используется для генерирования предиктора mv_temporal вектора движения.
С этой целью, устройство 900 для кодирования вектора движения может кодировать информацию для определения того, какой из блоков 1120 и 1130 в положении, совмещенном с текущим блоком 1100, используется для генерирования предиктора mv_temporal вектора движения, и может вставлять кодированную информацию в заголовок блока или заголовок фрагмента.
Фиг. 11С изображает способ генерирования предиктора вектора движения Р изображения, в соответствии с примерным вариантом осуществления.
Со ссылкой на Фиг. 11С, предиктор вектора движения текущего блока 1100 текущего изображения 1110 может быть генерирован с помощью вектора движения текущего блока 1140 в положении, совмещенном с изображением 1112, предшествующим по времени. Например, если вектор mv_colC движения блока 1140 в положении, совмещенном с текущим блоком 1100, генерируется для искомого блока 1142 другого изображения 1116, предшествующего по времени, то кандидат предиктора mv_L0C вектора движения текущего блока 1100 может быть генерирован в соответствии с представленным ниже уравнением:
mv_L0C=(t6/t5)×mv_colC
Как описано выше по тексту в отношении Фиг. 11А и 11В, mv_L0C также может быть генерирован на основании РОС. На основании РОС текущего изображения 1110, РОС изображения, на которое опирается текущее изображение 1110, РОС изображения 1112, предшествующего по времени, и РОС другого изображения 1116, предшествующего по времени, может быть генерирован mv_L0C.
Так как текущее изображение 1110 является Р изображением, то число предикторов вектора движения текущего блока 1100 равно 1, в отличие от Фиг. 11А и 11В.
В итоге, набор С кандидатов предикторов вектора движения, в соответствии с Фиг. 10А, 10В и 11А-11С, может быть генерирован в соответствии с представленным ниже уравнением:
С={медиана(mv_a0, mv_b0, mv_c0), mv_a0, mv_a1…, mv_aN, mv_b0, mv_b1…, mv_bN, mv_c, mv_d, mv_e, mv_temporal}.
Альтернативно, набор С может быть генерирован путем сокращения числа кандидатов предикторов вектора движения в соответствии с представленным ниже уравнением:
С={медиана(mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}.
В данном документе, mv_x обозначает вектор движения блока х, медиана () обозначает медианное значение, а mv_temporal обозначает кандидатов предикторов вектора движения с помощью временного расстояния, описанного выше по тексту в отношении Фиг. 11А-11С.
Дополнительно, mv_a' обозначает первый действительный вектор движения среди mv_a0, mv_a1…, mv_aN. Например, когда блок а0 кодирован с помощью внутреннего прогнозирования либо опирается на изображение, отличное от изображения, на которое опирается текущий блок, то вектор mv_a0 движения блока а0 недействителен, и, таким образом, mv_a'=mv_a1, и если вектор движения блока а1 также недействителен, то mv_a'=mv_a2.
Подобным образом, mv_b' обозначает первый действительный вектор движения среди mv_b0, mv_b1…, mv_bN, а mv_c' обозначает первый действительный вектор движения среди mv_с, mv_d и mv_e.
Вектор движения блока, который опирается на изображение, отличное от изображения, на которое опирается текущий блок, среди векторов движения блоков, смежных с текущим блоком, не может эффективно прогнозировать вектор движения текущего блока. Таким образом, вектор движения блока, который опирается на изображение, отличное от изображения, на которое опирается текущий блок, может быть исключен из набора С кандидатов предикторов вектора движения.
Явный режим является режимом кодирования информации, указывающей, какой вектор движения используется в качестве предиктора вектора движения текущего блока. Например, когда вектор движения кодируется в явном режиме, двоичное число может быть назначено каждому из элементов набора С, то есть кандидатам предикторам вектора движения, и если один из них используется в качестве предиктора вектора движения текущего блока, то соответствующее двоичное число может быть выводом.
Так как соответствующее двоичное число назначается каждому кандидату предиктору вектора движения, чтобы выделить один из элементов набора С, и оно является выводом, то по мере уменьшения числа элементов в наборе С, элементы набора С могут быть выделены как двоичные числа с меньшим числом битов.
Таким образом, если совпадающий кандидат предиктора вектора движения есть в наборе С, то совпадающий кандидат предиктора вектора движения может быть исключен из набора С, а двоичные числа назначены кандидатам предикторов вектора движения. Например, когда набор С={медиана(mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}, как описано выше по тексту, то если mv_a', mv_b' и mv_c' одинаковы, то набор С может быть определен как три элемента, как в С={медиана(mv_a', mv_b', mv_c'), mv_a', mv_temporal}, а двоичные числа назначены. Если элементы набора С могут быть выделены с помощью 3 битов до того, как совпадающий кандидат предиктора вектора движения исключен из набора С, то элементы набора С могут быть выделены с помощью 2 битов после того, как совпадающий кандидат предиктора вектора движения исключен из набора С.
Вместо исключения как совпадающий кандидат предиктора вектора движения из набора С, заранее определенный вес может быть добавлен, чтобы увеличить вероятность того, что совпадающий кандидат предиктора вектора движения может быть определен в качестве предиктора вектора движения текущего блока. Так как на примере, описанном выше по тексту, mv_a', mv_b' и mv_c' одинаковы, и только mv_a' включен в набор С, то вероятность того, что mv_a' может быть определен в качестве предиктора вектора движения текущего блока, может быть увеличена за счет добавления заранее определенного веса к mv_a'.
Дополнительно, когда есть только один кандидат предиктора вектора движения, то, несмотря на явный режим, двоичные числа для выделения одного из кандидатов предикторов вектора движения не могут быть кодированы. Например, когда набор C={медиана(mv_a0, mv_b0, mv_c), mv_a0, mv_a1…, mv_aN, mv_b0, mv_b1…, mv_bN, mv_c, mv_d, mv_e, mv_temporal} и блоки а0-aN, блоки b0-bN, блок с, блок d и блок е являются блоками, спрогнозированными с помощью внутреннего прогнозирования, то набор C={mv_temporal}, таким образом, включает в основном один элемент. Таким образом, в этом случае, устройство 900 для кодирования вектора движения не кодирует двоичные числа для выделения одного кандидата предиктора вектора движения среди множества кандидатов предикторов вектора движения, несмотря на явный режим.
Специалистам в данной области техники будет понятно, что другие кандидаты предикторы вектора движения, кроме описанных выше по тексту в отношении явного режима, также могут существовать.
(2) неявный режим
Другой из способов кодирования предиктора вектора движения, который может быть выбран элементом 910 прогнозирования, - это режим кодирования только той информации, которая указывает, что предиктор вектора движения текущего блока генерируется на основании блоков или пикселей, включенных в ранее кодированную область, смежную с текущим блоком. В отличие от явного режима, неявный режим является режимом кодирования информации, указывающей генерирование предиктора вектора движения в неявном режиме без кодирования информации для выделения предиктора вектора движения.
Как описано выше по тексту, кодек MPEG-4H/264/MPEG-4 AVC использует векторы движения ранее кодированных блоков, смежных с текущим блоком, для прогнозирования вектора движения текущего блока. То есть медиана векторов движения ранее кодированных блоков, смежных с левой, правой и верхней правой сторонами текущего блока, используется в качестве предиктора вектора движения текущего блока. В таком случае, в отличие от явного режима, информация для выбора одного из кандидатов предикторов вектора движения не обязательно должна быть кодирована.
Другими словами, если только информация, указывающая, что предиктор вектора движения текущего блока кодирован в неявном режиме, кодирована в процессе кодирования изображения, то медианное значение векторов движения ранее кодированных блоков, смежных с левой, верхней и верхней правой сторонами текущего блока, может быть использовано в качестве предиктора вектора движения текущего блока в процессе декодирования изображения.
Дополнительно, способ кодирования изображения, в соответствии с примерным вариантом осуществления, обеспечивает новый неявный режим генерирования предиктора вектора движения путем использования ранее кодированных значений пикселей, смежных с текущим блоком, в качестве шаблона. Это будет описано более подробно со ссылкой на Фиг. 12А.
Фиг. 12А изображает способ генерирования предиктора вектора движения в явном режиме, в соответствии с примерным вариантом осуществления.
Со ссылкой на Фиг. 12А, пиксели 1222, включенные в ранее кодированную область 1220, смежную с текущим блоком 1200 текущего изображения 1210, используются для генерирования предиктора вектора движения текущего блока 1200. Соответствующие пиксели 1224 определяются путем поиска опорного изображения 1212 с помощью смежных пикселей 1222. Соответствующие пиксели 1224 могут быть определены путем вычисления суммы (SAD) абсолютных разниц. Когда соответствующие пиксели 1224 определены, то генерируется вектор mv_template движения смежных пикселей 1222, и вектор mv_template движения может быть использован в качестве предиктора вектора движения текущего блока 1200.
Набор С кандидатов предикторов вектора движения может быть использован для поиска mv_template из опорного изображения 1212. Это будет описано более подробно со ссылкой на Фиг. 12В.
Фиг. 12В изображает способ поиска предиктора вектора движения в неявном режиме, в соответствии с примерным вариантом осуществления.
Со ссылкой на Фиг. 12В, когда элемент 910 прогнозирования ищет опорное изображение 1212 с помощью пикселей 1222, смежных с текущим блоком 1200, может быть установлен заранее определенный диапазон 1226 поиска, а соответствующие пиксели 1224 могут быть найдены только внутри заранее определенного диапазона 1226 поиска.
Диапазон 1226 поиска может быть установлен на основании кандидатов предикторов вектора движения, описанных выше по тексту. Центр диапазона 1226 поиска может быть определен на основании кандидатов предикторов вектора движения, а область, включенная в заранее заданный диапазон пикселей, может быть установлена, как и диапазон 1226 поиска, из заранее заданного центра диапазона поиска. Так как может быть множество кандидатов предикторов вектора движения, то множество диапазонов 1226 поиска могут быть установлены, а диапазоны 1226 поиска могут быть установлены в различных изображениях.
Соответствующие пиксели 1224, имеющие наименьшие SAD, определены путем поиска множества диапазонов 1226 поиска, а mv_template генерируется на основании этого определения. Размеры и формы пикселей 1222, смежных с текущим блоком 1200, могут быть различными. Это будет описано более подробно со ссылкой на Фиг. 12С.
Фиг. 12С изображает шаблон, используемый для генерирования предикторов вектора движения, в соответствии с примерным вариантом осуществления.
Со ссылкой на Фиг. 12С, пиксели 1222, смежные с текущим блоком 1200, которые используются для генерирования предиктора вектора движения текущего блока 1200 с помощью элемента 910 прогнозирования, как изображено на Фиг. 12А, могут отличаться по размерам и формам.
Например, когда размер текущего блока 1200 равен 4×4, пиксели 1222, смежные с текущим блоком 1220, могут быть установлены для включения только девяти пикселей, как изображено на Фиг. 12С, а пиксели 1228, смежные с текущим блоком 1220, могут быть установлены так, чтобы включать девять или более пикселей. Дополнительно, пиксели 1222 могут быть установлены так, чтобы иметь форму, отличную от формы '┌', как изображено на Фиг. 12А-12С.
Фиг. 12D изображает шаблон, используемый для генерирования предиктора вектора движения, в соответствии с другим примерным вариантом осуществления.
При вычислении SAD, не все пиксели, смежные с текущим блоком 1200, используются, и только некоторые из пикселей 1222, смежные с текущим блоком 1200, могут быть использованы. Например, SAD может быть вычислен с помощью только трех, пяти или семи пикселей из девяти пикселей 1222, имеющих размер 4×4, смежных с текущим блоком 1200. Фиг. 12D изображает шаблон для вычисления SAD с помощью только одного пикселя, смежного с верхней левой стороной текущего блока, крайнего правого пикселя среди пикселей, смежных с его верхней стороной, и крайнего нижнего пикселя среди пикселей, смежных с его левой стороной.
Информация о различных размерах и формах шаблонов, описанных выше по тексту со ссылкой на Фиг. 12В-12D, может быть кодирована отдельно от вектора движения, может быть кодирована как параметры фрагментов и вставлена в заголовок фрагмента, либо может быть кодирована как последовательность параметров и вставлена в поток двоичных данных.
Если режим использования медианы векторов движения смежных блоков в качестве предиктора вектора движения определен как «неявный режим_1», и если режим генерирования предиктора вектора движения с помощью пикселей, смежных с текущим блоком, определен как «неявный режим_2», то предиктор вектора движения может быть генерирован с помощью одного из двух неявных режимов, неявный режим_1 и неявный режим_2, с помощью кодирования информации об одном из двух неявных режимов в процессе кодирования изображения и со ссылкой на информацию о режиме в процессе декодирования изображения.
(3) выбор режима
Могут быть различные критерии для выбора элементом 910 прогнозирования одного из вышеописанных явного режима и неявного режима.
Так как множество предикторов вектора движения выбирается в явном режиме, то предиктор вектора движения, более похожий на вектор движения текущего блока, может быть выбран. Напротив, так как информация, указывающая, что один из множества кандидатов предикторов вектора движения, кодирована, то могут случиться большие непроизводительные потери, чем при неявных режимах. Таким образом, для элемента кодирования, имеющего большой размер, правильно будет кодировать вектор движения в явном режиме, так как вероятность увеличения ошибки при неправильном прогнозировании вектора движения, больше для элемента кодирования, имеющего размер больше, чем элемент кодирования, имеющий маленький размер, и когда размер элемента кодирования большой, то частота возникновения непроизводительных потерь снижается для каждого изображения.
Например, когда изображение, равно разделенное на m элементов кодирования, имеющих размер 64×64, кодирован в явном режиме, то число случаев возникновения непроизводительных потерь равно m. Однако когда изображение, которое имеет тот же размер, равно разделенное на 4m элементов кодирования, имеющих размер 32×32, кодирован в явном режиме, число случаев возникновения непроизводительных потерь равно 4m.
Соответственно, элемент 910 прогнозирования, в соответствии с примерным вариантом осуществления, может выбирать один из явного режима и неявного режима на основании размера элемента кодирования, когда вектор движения текущего блока кодирован.
Так как размер элемента кодирования при способе кодирования изображения и при способе декодирования изображения, в соответствии с примерными вариантами осуществления, описанными выше по тексту в связи с Фиг. 1-8, представлен с помощью глубины, то элемент 910 прогнозирования выбирает, на основании глубины текущего блока, кодирован ли вектор движения текущего блока в явном режиме или неявном режиме. Например, когда элементы кодирования, чьи глубины равны 0 и 1, спрогнозированы с помощью взаимного прогнозирования, и когда элементы кодирования, чьи глубины равны или больше 2, спрогнозированы с помощью взаимного прогнозирования, векторы движения элементов кодирования кодируются в неявном режиме.
В соответствии с другим примерным вариантом осуществления, элемент 910 прогнозирования может выбирать явный режим или неявный режим для каждого изображения или элемента фрагмента. Так как характеристики изображения различны для каждого изображения или элемента фрагмента, то явный режим или неявный режим может быть выбран для каждого кадра или элемента фрагмента путем рассмотрения этих характеристик изображения. Векторы движения элементов кодирования, включенные в текущее изображение или фрагмент, могут быть кодированы с помощью прогнозирования путем выбора оптимального режима из явного режима и неявного режима в отношении издержек R-D.
Например, если векторы движения элементов кодирования, включенные в изображение или фрагмент, могут быть точно спрогнозированы без применения явного режима, то векторы движения всех элементов кодирования, включенных в изображение или фрагмент, могут быть кодированы с помощью прогнозирования с применением неявного режима.
В соответствии с другим примерным вариантом осуществления, элемент 910 прогнозирования может выбирать явный режим или неявный режим на основании того, кодирован ли текущий блок в режиме пропуска. Режим пропуска является режимом кодирования, в котором только сигнальная информация, указывающая, что текущий блок кодирован в режиме пропуска, без кодирования значения пикселя.
Режим пропуска является режимом, в котором значение пикселя текущего блока не кодируется, если блок прогнозирования, генерированный путем выполнения компенсации движения с помощью предиктора вектора движения как вектор движения текущего блока, одинаков с текущим блоком. Таким образом, так как предиктор вектора движения генерируется сходно с вектором движения текущего блока, вероятность кодирования текущего блока в режиме пропуска выше. Соответственно, блок, кодированный в режиме пропуска, может быть кодирован в явном режиме.
Со ссылкой на Фиг. 9, когда элемент 910 прогнозирования выбирает один из явного режима и неявного режима и определяет предиктор вектора движения в соответствии с выбранным режимом, то первый кодер 920 и второе устройство 930 кодирования кодируют информацию о режиме кодирования и векторе движения.
Первый кодер 920 кодирует информацию о предикторе вектора движения текущего блока. Более подробно, когда элемент 910 прогнозирования выбирает, что вектор движения текущего блока кодируется в явном режиме, то первый кодер 920 кодирует информацию, указывающую, что предиктор вектора движения генерирован в явном режиме, и информацию, указывающую, какой кандидат предиктора вектора движения используется в качестве предиктора вектора движения текущего блока.
Дополнительно, если множество кандидатов предикторов вектора движения включают в себя mv_temporal, описанный выше по тексту со ссылкой на Фиг. 11А-11С, то также кодируется информация, указывающая, является ли блок 1200 или 1300 в положении, совмещенном с текущим блоком, на котором основано генерирование mv_temporal, блоком изображения, предшествующего по времени, или блоком изображения, следующего по времени.
Напротив, когда элемент 910 прогнозирования выбирает, что вектор движения текущего блока кодируется в неявном режиме, то первый кодер 920 кодирует информацию, указывающую, что предиктор вектора движения текущего блока генерирован в неявном режиме. Другими словами, первый кодер 920 кодирует информацию, указывающую, что предиктор вектора движения текущего блока генерирован с помощью блоков или пикселей, смежных с текущим блоком. Если используются два или более неявных режима, то первый кодер 920 может дополнительно кодировать информацию, указывающую, какой неявный режим используется для генерирования предиктора вектора движения текущего блока.
Неявный режим может быть режимом, в котором предиктор вектора движения текущего блока генерируется с помощью установки диапазона поиска на основании кандидатов предикторов вектора движения текущего блока и с помощью поиска внутри диапазона поиска, установленного на основании пикселей ранее кодированной области, смежной с текущим блоком, как изображено на Фиг. 12С.
Второй кодер 930 кодирует вектор движения текущего блока на основании предиктора вектора движения, определенного элементом 910 прогнозирования. Иначе, второй кодер 930 генерирует вектор разницы путем извлечения предиктора вектора движения, генерированного элементом 910 прогнозирования из вектора движения текущего блока, генерированного в результате компенсации движения, и кодирует информацию о векторе разницы.
Фиг. 13 является структурной схемой устройства 1300 для декодирования вектора движения, в соответствии с примерным вариантом осуществления.
Устройство 1300 для декодирования вектора движения, которое может быть включено в устройство 200 декодирования изображения, описанное выше по тексту в отношении Фиг. 2, или декодер 500 изображения, описанный выше по тексту в отношении Фиг. 5, будет описано подробно. Со ссылкой на Фиг. 13, устройство 1300 для декодирования вектора движения включает в себя первый декодер 1310, второй декодер 1320, элемент 1330 прогнозирования и устройство 1340 восстановления вектора движения.
Первый декодер 1310 декодирует информацию о предикторе вектора движения текущего блока, который включен в поток двоичных данных. Более подробно, первый декодер 1310 декодирует информацию, указывающую, кодирован ли предиктор вектора движения текущего блока в явном режиме или неявном режиме.
Когда предиктор вектора движения текущего блока кодирован в явном режиме, то первый декодер 1310 дополнительно декодирует информацию, указывающую один предиктор вектора движения, используемый в качестве предиктора вектора движения текущего блока, среди множества предикторов вектора движения.
Дополнительно, если множество кандидатов предикторов вектора движения включают в себя mv_temporal, описанный выше по тексту со ссылкой на Фиг. 11А-11С, то также декодируется информация, указывающая, является ли блок 1200 или 1300 в положении, совмещенном с текущим блоком, на основании которого генерируется mv_temporal, блоком изображения, предшествующего по времени, или блоком изображения, следующего по времени.
Когда предиктор вектора движения текущего блока кодирован в неявном режиме, первый декодер 1310 может дополнительно декодировать информацию, указывающую, какой из множества неявных режимов используется для кодирования предиктора вектора движения текущего блока.
Неявный режим может быть режимом, в котором предиктор вектора движения текущего блока генерируется с помощью установки диапазона поиска на основании кандидатов предикторов вектора движения текущего блока и с помощью писка внутри диапазона поиска, установленного на основании пикселей ранее кодированной области, смежной с текущим блоком, как изображено на Фиг. 12С.
Второй декодер 1320 декодирует вектор разницы между вектором движения и предиктором вектора движения текущего блока, включенного в поток двоичных данных.
Элемент 1330 прогнозирования генерирует предиктор вектора движения текущего блока на основании информации о предикторе вектора движения текущего блока, который декодирован первым устройством 1310 декодирования.
Когда информация о предикторе вектора движения текущего блока, который кодирован в явном режиме, декодируется, то элемент 1330 прогнозирования генерирует один предиктор вектора движения среди кандидатов предикторов вектора движения, описанных выше по тексту в отношении Фиг. 10А, 10В и 11А-11С, и использует его в качестве предиктора вектора движения текущего блока.
Когда информация о предикторе вектора движения текущего блока, которая кодирована в неявном режиме, декодируется, то элемент 1330 прогнозирования генерирует предиктор вектора движения текущего блока, используя блоки или пиксели, включенные в ранее кодированную область, смежную с текущим блоком. Более подробно, элемент 1330 прогнозирования генерирует медианное значение векторов движения блоков, смежных с текущим блоком, в качестве предиктора вектора движения текущего блока, либо генерирует предиктор вектора движения текущего блока с помощью поиска опорного изображения, используя пиксели, смежные с текущим блоком.
Устройство 1340 восстановления вектора движения восстанавливает вектор движения текущего блока путем суммирования предиктора вектора движения, генерированного элементом 1330 прогнозирования, и вектора разницы, декодированного вторым декодером 1320. Восстановленный вектор движения используется для компенсации движения текущего блока.
Фиг. 14 является блок-схемой последовательности операций способа кодирования вектора движения, в соответствии с примерным вариантом осуществления.
Со ссылкой на Фиг. 14 устройство кодирования вектора движения, в соответствии с примерным вариантом осуществления, выбирает один из явного режима и неявного режима в качестве режима кодирования информации о предикторе вектора движения в операции 1410.
Явный режим является режимом кодирования информации, указывающей одного кандидата предиктора вектора движения среди по меньшей мере одного кандидата предиктора вектора движения в качестве информации о предикторе вектора движения, а неявный режим является режимом кодирования информации, указывающей, что предиктор вектора движения генерирован на основании блоков или пикселей, включенных в ранее кодированную область, смежную с текущим блоком, в качестве информации о предикторе вектора движения. Подробные описания были даны в отношении Фиг. 10А-10Е, 11А-11С, и 12А-12С.
Режим может быть выбран на основании размера текущего блока, то есть глубины текущего блока, или выбран в элементе текущего изображения или фрагмента, в который включен текущий блок. Альтернативно, режим может быть выбран в соответствии с тем, кодирован ли текущий блок в режиме пропуска.
При операции 1420, устройство кодирования вектора движения определяет предиктор вектора движения в соответствии с режимом, выбранным в операции 1410. Более подробно, устройство кодирования вектора движения определяет предиктор вектора движения текущего блока на основании явного режима или неявного режима, выбранного в операции 1410. Более подробно, устройство кодирования вектора движения определяет один предиктор вектора движения среди по меньшей мере одного кандидата предиктора вектора движения в качестве предиктора вектора движения текущего блока в явном режиме или определяет предиктор вектора движения текущего блока на основании блоков или пикселей, смежных с текущим блоком в неявном режиме.
При операции 1430, устройство кодирования вектора движения кодирует информацию о предикторе вектора движения, определенном в операции 1420.
В случае явного режима, устройство кодирования вектора движения кодирует одного кандидата предиктора вектора движения среди по меньшей мере одного кандидата предиктора вектора движения, и информацию, указывающую, что информация о предикторе вектора движения текущего блока кодирована в явном режиме.
Дополнительно, если множество кандидатов предикторов вектора движения включают в себя mv_temporal, описанный выше по тексту со ссылкой на Фиг. 11А-11С, то также кодируется информация, указывающая на то, является ли блок 1200 или 1300 в положении, совмещенном с текущим блоком, на основании которого генерируется mv_temporal, блоком изображения, предшествующего по времени, или блоком изображения, следующего по времени.
В случае неявного режима, устройство кодирования вектора движения кодирует информацию, указывающую, что предиктор вектора движения текущего блока генерирован на основании блоков или пикселей, включенных в ранее кодированную область, смежную с текущим блоком. В случае множества неявных режимов, устройство кодирования вектора движения может дополнительно кодировать информацию, указывающую один из множества неявных режимов.
Неявный режим может быть режимом, в котором предиктор вектора движения текущего блока генерируется путем установки диапазона поиска на основании кандидатов предикторов вектора движения текущего блока и путем поиска внутри диапазона поиска, установленного на основании пикселей ранее кодированной области, смежной с текущим блоком, как изображено на Фиг. 12С.
При операции 1440, устройство кодирования вектора движения кодирует вектор разницы, генерированный путем извлечения предиктора вектора движения, определенного в операции 1420, из вектора движения текущего блока.
Фиг. 15 является блок-схемой последовательности операций способа декодирования вектора движения, в соответствии с примерным вариантом осуществления.
Со ссылкой на Фиг. 15, устройство декодирования вектора движения, в соответствии с примерным вариантом осуществления, декодирует информацию о предикторе вектора движения текущего блока, которая включена в поток двоичных данных, в операции 1510. Более подробно, устройство декодирования вектора движения декодирует информацию о режиме, используемом для кодирования предиктора вектора движения текущего блока, среди явного режима или неявного режима.
В случае явного режима, устройство декодирования вектора движения декодирует информацию, указывающую, что предиктор вектора движения текущего блока кодирован в явном режиме, и информацию об одном кандидате предикторе вектора движения среди по меньшей мере одного кандидата предиктора вектора движения.
Дополнительно, если множество кандидатов предикторов вектора движения включают в себя mv_temporal, описанный выше по тексту со ссылкой на Фиг. 11А-11С, то также кодируется информация, указывающая на то, является ли блок 1200 или 1300 в положении, совмещенном с текущим блоком, на основании которого генерируется mv_temporal, блоком изображения, предшествующего по времени, или блоком изображения, следующего по времени.
В случае неявного режима, устройство декодирования вектора движения декодирует информацию, указывающую, что предиктор вектора движения текущего блока генерирован на основании блоков или пикселей, включенных в ранее декодированную область, смежную с текущим блоком. В случае множества неявных режимов, устройство декодирования вектора движения может дополнительно декодировать информацию, указывающую один из множества неявных режимов.
Неявный режим может быть режимом, в котором предиктор вектора движения текущего блока генерируется путем установки диапазона поиска на основании кандидатов предикторов вектора движения текущего блока и путем поиска внутри диапазона поиска, установленного на основании пикселей ранее кодированной области, смежной с текущим блоком, как изображено на Фиг. 12С.
При операции 1520, устройство декодирования вектора движения декодирует информацию о векторе разницы. Вектор разницы является вектором разницы между предиктором вектора движения текущего блока и вектором движения текущего блока.
При операции 1530, устройство декодирования вектора движения генерирует предиктор вектора движения текущего блока на основании информации о предикторе вектора движения, который был кодирован на операции 1510. Более подробно, устройство декодирования вектора движения генерирует предиктор вектора движения текущего блока в соответствии с явным режимом или неявным режимом. Более подробно, устройство декодирования вектора движения генерирует предиктор вектора движения текущего блока путем выбора кандидата предиктора вектора движения среди по меньшей мере одного кандидата предиктора вектора движения текущего блока либо путем использования блоков или пикселей, включенных в ранее декодированную область, смежную с текущим блоком.
При операции 1540, устройство декодирования вектора движения восстанавливает вектор движения текущего блока путем суммирования вектора разницы, декодированного в операции 1520, и предиктора вектора движения, генерированного в операции 1530.
Как описано выше по тексту, в соответствии с примерными вариантами осуществления, вектор движения может быть спрогнозирован более точно с помощью использования как режима, в котором информация о векторе движения не кодируется отдельно, так и режима, в котором информация о векторе движения кодируется.
Несмотря на то, что примерные варианты осуществления были подробно изображены и описаны выше по тексту, специалистам в данной области техники будет понятно, что могут быть сделаны различные изменения в форме и деталях, при этом не удаляясь от сущности и объема идеи изобретения, определенной в последующей формуле изобретения, и ее эквивалентах. Также, иллюстративное воплощение может быть воплощено в виде машиночитаемых кодов на машиночитаемом носителе информации.
Например, устройство кодирования или декодирования изображения, кодер или декодер изображения, устройство для кодирования вектора движения и устройство для декодирования вектора движения, изображенные на Фиг. 1, 2, 4, 5, 9 и 13, могут включать в себя магистральную шину, соединенную с каждым элементом устройства или устройства для кодирования, по меньшей мере один процессор, который связан с магистральной шиной и используется для выполнения команд, и устройство памяти, соединенное с магистральной шиной для хранения команд, принятых сообщений и генерированных сообщений.
Считываемый компьютером носитель информации является любым устройством хранения данных, способным хранить данные, которые в последующем будут прочитаны компьютерной системой. Примеры считываемых компьютером носителей информации включают в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), CD-ROM, магнитные пленки, гибкие диски и оптические устройства хранения данных. Считываемый компьютером носитель информации может также быть распределен по сети, соединенной с компьютерными системами, так что считываемый компьютером код хранится и выполняется в распределенной манере.

Claims (5)

1. Устройство для декодирования изображения, причем устройство содержит:
блок получения данных изображения, который получает данные изображения, кодированные посредством использования единицы кодирования иерархической структуры, разбитой из максимальной единицы кодирования;
средство извлечения информации кодирования, которое получает информацию режима предсказания текущего блока из битового потока; и
декодер данных изображения, который определяет блок, совместно размещенный с текущим блоком, из числа первого блока, совместно размещенного с текущим блоком в предшествующем во времени кадре, и второго блока, совместно размещенного с текущим блоком в следующем во времени кадре, для получения кандидатов-предикторов вектора движения текущего блока на основании полученной информации режима предсказания, получает кандидатов-предикторов вектора движения текущего блока с использованием определенного блока, совместно размещенного с текущим блоком, получает предиктора вектора движения текущего блока из числа полученных кандидатов-предикторов вектора движения на основе полученной информации режима предсказания и получает вектор движения текущего блока на основании полученного предиктора вектора движения и разностного вектора, получаемого из битового потока,
при этом изображение иерархически разбивают из множества максимальных единиц кодирования согласно информации о
максимальном размере единицы кодирования на единицы кодирования кодированных глубин согласно глубинам,
при этом единица кодирования текущей глубины является одной из прямоугольных единиц данных, разбитых из единицы кодирования более верхней глубины,
при этом единица кодирования текущей глубины разбита на единицы кодирования более нижней глубины независимо от соседних единиц кодирования, и
при этом единицы кодирования иерархической структуры содержат кодированные единицы кодирования из числа единиц кодирования, разбитых из максимальной единицы кодирования.
2. Устройство по п.1, в котором декодер данных изображения масштабирует вектор движения определенного блока, совместно размещенного с текущим блоком в опорном кадре, на основании временного расстояния между опорным кадром, содержащим определенный блок, и текущим кадром, содержащим текущий блок.
3. Устройство по п.1, в котором кандидаты-предикторы вектора движения содержат по меньшей мере один вектор движения соседнего блока, смежного с текущим блоком.
4. Устройство по п.3, в котором предиктор вектора движения текущего блока определяется между вектором движения определенного блока, совместно размещенного с текущим блоком, и вектором движения соседнего блока на основании полученной информации режима предсказания.
5. Устройство по п.3, в котором соседний блок содержит третий блок, размещенный с верхней правой стороны текущего блока, четвертый блок, смежный с левой стороной третьего блока, размещенного с верхней правой стороны текущего блока, пятый блок, размещенный с нижней левой стороны текущего блока, шестой блок, смежный с верхней стороной пятого блока, размещенного с нижней левой стороны текущего блока, и седьмой блок, размещенный с верхней левой стороны текущего блока.
RU2013158838/08A 2010-01-14 2011-01-14 Способ и устройство для кодирования и декодирования вектора движения RU2530252C1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0003554 2010-01-14
KR1020100003554A KR101522850B1 (ko) 2010-01-14 2010-01-14 움직임 벡터를 부호화, 복호화하는 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2012134634/08A Division RU2514929C2 (ru) 2010-01-14 2011-01-14 Способ и устройство для кодирования и декодирования вектора движения

Publications (2)

Publication Number Publication Date
RU2013158838A RU2013158838A (ru) 2014-09-27
RU2530252C1 true RU2530252C1 (ru) 2014-10-10

Family

ID=44258489

Family Applications (7)

Application Number Title Priority Date Filing Date
RU2012134634/08A RU2514929C2 (ru) 2010-01-14 2011-01-14 Способ и устройство для кодирования и декодирования вектора движения
RU2013158838/08A RU2530252C1 (ru) 2010-01-14 2011-01-14 Способ и устройство для кодирования и декодирования вектора движения
RU2013113951/08A RU2513707C1 (ru) 2010-01-14 2013-03-28 Способ и устройство для кодирования и декодирования вектора движения
RU2013158843/08A RU2604997C2 (ru) 2010-01-14 2013-12-27 Способ и устройство для кодирования и декодирования вектора движения
RU2013158853/08A RU2604998C2 (ru) 2010-01-14 2013-12-27 Способ и устройство для кодирования и декодирования вектора движения
RU2013158760/08A RU2605362C2 (ru) 2010-01-14 2013-12-27 Способ и устройство для кодирования и декодирования вектора движения
RU2013158636/08A RU2604996C2 (ru) 2010-01-14 2013-12-27 Способ и устройство для кодирования и декодирования вектора движения

Family Applications Before (1)

Application Number Title Priority Date Filing Date
RU2012134634/08A RU2514929C2 (ru) 2010-01-14 2011-01-14 Способ и устройство для кодирования и декодирования вектора движения

Family Applications After (5)

Application Number Title Priority Date Filing Date
RU2013113951/08A RU2513707C1 (ru) 2010-01-14 2013-03-28 Способ и устройство для кодирования и декодирования вектора движения
RU2013158843/08A RU2604997C2 (ru) 2010-01-14 2013-12-27 Способ и устройство для кодирования и декодирования вектора движения
RU2013158853/08A RU2604998C2 (ru) 2010-01-14 2013-12-27 Способ и устройство для кодирования и декодирования вектора движения
RU2013158760/08A RU2605362C2 (ru) 2010-01-14 2013-12-27 Способ и устройство для кодирования и декодирования вектора движения
RU2013158636/08A RU2604996C2 (ru) 2010-01-14 2013-12-27 Способ и устройство для кодирования и декодирования вектора движения

Country Status (14)

Country Link
US (9) US8995529B2 (ru)
EP (5) EP2930929A3 (ru)
JP (5) JP5882228B2 (ru)
KR (1) KR101522850B1 (ru)
CN (7) CN103220518B (ru)
AU (1) AU2011205896A1 (ru)
BR (6) BR122015021370B1 (ru)
CA (5) CA2828001C (ru)
MX (1) MX2012008229A (ru)
MY (5) MY183996A (ru)
RU (7) RU2514929C2 (ru)
SG (6) SG10201500920VA (ru)
WO (1) WO2011087321A2 (ru)
ZA (5) ZA201205735B (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2801154C1 (ru) * 2020-04-10 2023-08-02 Самсунг Электроникс Ко., Лтд. Устройство и способ для кодирования вектора движения и устройство и способ для декодирования вектора движения

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519096B2 (en) 2003-06-06 2009-04-14 The General Hospital Corporation Process and apparatus for a wavelength tuning source
JP5567246B2 (ja) 2003-10-27 2014-08-06 ザ ジェネラル ホスピタル コーポレイション 周波数ドメイン干渉測定を利用して光学撮像を実行する方法および装置
JP4995720B2 (ja) 2004-07-02 2012-08-08 ザ ジェネラル ホスピタル コーポレイション ダブルクラッドファイバを有する内視鏡撮像プローブ
WO2006024015A1 (en) 2004-08-24 2006-03-02 The General Hospital Corporation Method and apparatus for imaging of vessel segments
CN104257348A (zh) 2006-01-19 2015-01-07 通用医疗公司 通过上皮内腔器官束扫描对上皮内腔器官进行光学成像的方法和系统
US8145018B2 (en) 2006-01-19 2012-03-27 The General Hospital Corporation Apparatus for obtaining information for a structure using spectrally-encoded endoscopy techniques and methods for producing one or more optical arrangements
US10426548B2 (en) 2006-02-01 2019-10-01 The General Hosppital Corporation Methods and systems for providing electromagnetic radiation to at least one portion of a sample using conformal laser therapy procedures
JP5519152B2 (ja) 2006-02-08 2014-06-11 ザ ジェネラル ホスピタル コーポレイション 光学顕微鏡法を用いて解剖学的サンプルに関わる情報を取得するための装置
EP2309221A1 (en) 2006-02-24 2011-04-13 The General Hospital Corporation Methods and systems for performing angle-resolved fourier-domain optical coherence tomography
EP3150110B1 (en) 2006-05-10 2020-09-02 The General Hospital Corporation Processes, arrangements and systems for providing frequency domain imaging of a sample
WO2008121844A1 (en) 2007-03-30 2008-10-09 The General Hospital Corporation System and method providing intracoronary laser speckle imaging for the detection of vulnerable plaque
WO2008153262A1 (en) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
US8526499B2 (en) 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
US9254089B2 (en) 2008-07-14 2016-02-09 The General Hospital Corporation Apparatus and methods for facilitating at least partial overlap of dispersed ration on at least one sample
JP2012515576A (ja) 2009-01-20 2012-07-12 ザ ジェネラル ホスピタル コーポレイション 内視鏡生検装置、システム、及び方法
US11490826B2 (en) 2009-07-14 2022-11-08 The General Hospital Corporation Apparatus, systems and methods for measuring flow and pressure within a vessel
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
KR101495724B1 (ko) * 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
EP2542153A4 (en) 2010-03-05 2014-06-04 Gen Hospital Corp SYSTEM, METHODS, AND COMPUTER-ACCESSIBLE MEDIA THAT PROVIDE MICROSCOPIC IMAGES OF AT LEAST ONE ANATOMIC STRUCTURE TO A PARTICULAR RESOLUTION
JP5649701B2 (ja) * 2010-04-08 2015-01-07 株式会社東芝 画像復号化方法、装置、及びプログラム
CN102823248B (zh) 2010-04-08 2015-06-24 株式会社东芝 图像编码方法以及图像编码装置
RU2538284C2 (ru) * 2010-04-22 2015-01-10 Медиатэк, Инк. Способ предсказания движения
US9069130B2 (en) 2010-05-03 2015-06-30 The General Hospital Corporation Apparatus, method and system for generating optical radiation from biological gain media
US9510009B2 (en) 2010-05-20 2016-11-29 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
JP5778762B2 (ja) 2010-05-25 2015-09-16 ザ ジェネラル ホスピタル コーポレイション 光コヒーレンストモグラフィー画像のスペクトル解析のための装置及び方法
EP2575597B1 (en) 2010-05-25 2022-05-04 The General Hospital Corporation Apparatus for providing optical imaging of structures and compositions
JP6066901B2 (ja) 2010-06-03 2017-01-25 ザ ジェネラル ホスピタル コーポレイション 1つまたは複数の管腔器官内または管腔器官にある構造を撮像するための装置およびデバイスのための方法
KR101825768B1 (ko) 2010-11-24 2018-02-05 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
US10397599B2 (en) 2010-12-17 2019-08-27 Electronics And Telecommunications Research Institute Method and apparatus for inter prediction using motion vector candidate based on temporal motion prediction
GB2487197B (en) * 2011-01-11 2015-06-17 Canon Kk Video encoding and decoding with improved error resilience
CN106878742B (zh) 2011-01-12 2020-01-07 太阳专利托管公司 动态图像编解码装置
EP2675167B1 (en) * 2011-02-10 2018-06-20 Sun Patent Trust Moving picture encoding method, moving picture encoding device, moving picture decoding method, moving picture decoding device, and moving picture encoding decoding device
WO2012114694A1 (ja) * 2011-02-22 2012-08-30 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
MX2013009864A (es) 2011-03-03 2013-10-25 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
GB2501836B (en) * 2011-03-09 2014-08-06 Canon Kk Video encoding
EP3937497B1 (en) * 2011-03-21 2023-02-22 LG Electronics, Inc. Motion vector predictor selection
WO2012171477A1 (en) * 2011-06-15 2012-12-20 Mediatek Inc. Method and apparatus of texture image compression in 3d video coding
KR20140034292A (ko) * 2011-07-01 2014-03-19 모토로라 모빌리티 엘엘씨 움직임 벡터 예측 설계 간소화
WO2013029047A1 (en) 2011-08-25 2013-02-28 The General Hospital Corporation Methods, systems, arrangements and computer-accessible medium for providing micro-optical coherence tomography procedures
EP3179723B1 (en) 2011-09-09 2023-01-25 KT Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
AU2016216724B2 (en) * 2011-09-09 2018-10-25 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
KR101391829B1 (ko) * 2011-09-09 2014-05-07 주식회사 케이티 시간적 후보 움직임 벡터 유도 방법 및 이러한 방법을 사용하는 장치
US9736489B2 (en) 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
JP5869688B2 (ja) 2011-10-28 2016-02-24 サムスン エレクトロニクス カンパニー リミテッド インター予測方法及びその装置、動き補償方法及びその装置
WO2013067436A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Binarization of prediction residuals for lossless video coding
KR101616010B1 (ko) 2011-11-04 2016-05-17 구글 테크놀로지 홀딩스 엘엘씨 비균일 움직임 벡터 그리드에 대한 움직임 벡터 스케일링
US9571833B2 (en) * 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
US9020294B2 (en) * 2012-01-18 2015-04-28 Dolby Laboratories Licensing Corporation Spatiotemporal metrics for rate distortion optimization
KR102030205B1 (ko) * 2012-01-20 2019-10-08 선 페이턴트 트러스트 시간 움직임 벡터 예측을 사용하여 비디오를 부호화 및 복호하는 방법 및 장치
ES2865101T3 (es) 2012-02-03 2021-10-15 Sun Patent Trust Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes y dispositivo de codificación/decodificación de imágenes
WO2013132792A1 (ja) 2012-03-06 2013-09-12 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
US9629528B2 (en) 2012-03-30 2017-04-25 The General Hospital Corporation Imaging system, method and distal attachment for multidirectional field of view endoscopy
US10863170B2 (en) 2012-04-16 2020-12-08 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding on the basis of a motion vector
JP2015517387A (ja) 2012-05-21 2015-06-22 ザ ジェネラル ホスピタル コーポレイション カプセル顕微鏡検査のための装置、デバイスおよび方法
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
EP2948758B1 (en) 2013-01-28 2024-03-13 The General Hospital Corporation Apparatus for providing diffuse spectroscopy co-registered with optical frequency domain imaging
US10893806B2 (en) 2013-01-29 2021-01-19 The General Hospital Corporation Apparatus, systems and methods for providing information regarding the aortic valve
EP2967491B1 (en) 2013-03-15 2022-05-11 The General Hospital Corporation A transesophageal endoscopic system for determining a mixed venous oxygen saturation of a pulmonary artery
EP2997354A4 (en) 2013-05-13 2017-01-18 The General Hospital Corporation Detecting self-interefering fluorescence phase and amplitude
JP5571229B2 (ja) * 2013-06-03 2014-08-13 株式会社東芝 画像符号化方法及び画像復号化方法
US10117576B2 (en) 2013-07-19 2018-11-06 The General Hospital Corporation System, method and computer accessible medium for determining eye motion by imaging retina and providing feedback for acquisition of signals from the retina
EP3021734B1 (en) 2013-07-19 2020-04-08 The General Hospital Corporation Imaging apparatus which utilizes multidirectional field of view endoscopy
EP3025173B1 (en) 2013-07-26 2021-07-07 The General Hospital Corporation Apparatus with a laser arrangement utilizing optical dispersion for applications in fourier-domain optical coherence tomography
US9733460B2 (en) 2014-01-08 2017-08-15 The General Hospital Corporation Method and apparatus for microscopic imaging
JP2014131293A (ja) * 2014-01-23 2014-07-10 Toshiba Corp 画像符号化方法及び画像復号化方法
JP5571262B2 (ja) * 2014-01-23 2014-08-13 株式会社東芝 画像符号化方法及び画像復号化方法
JP5509398B1 (ja) * 2014-01-23 2014-06-04 株式会社東芝 画像符号化方法及び画像復号化方法
JP2014131295A (ja) * 2014-01-23 2014-07-10 Toshiba Corp 画像符号化方法及び画像復号化方法
CN104811584B (zh) * 2014-01-29 2018-03-27 晨星半导体股份有限公司 影像处理电路与方法
US10736494B2 (en) 2014-01-31 2020-08-11 The General Hospital Corporation System and method for facilitating manual and/or automatic volumetric imaging with real-time tension or force feedback using a tethered imaging device
JP6731574B2 (ja) * 2014-03-06 2020-07-29 パナソニックIpマネジメント株式会社 動画像符号化装置および動画像符号化方法
US9769498B2 (en) 2014-03-28 2017-09-19 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information
WO2015153982A1 (en) 2014-04-04 2015-10-08 The General Hospital Corporation Apparatus and method for controlling propagation and/or transmission of electromagnetic radiation in flexible waveguide(s)
CN106716999B (zh) * 2014-06-20 2019-08-09 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
US10912462B2 (en) 2014-07-25 2021-02-09 The General Hospital Corporation Apparatus, devices and methods for in vivo imaging and diagnosis
JP5659314B1 (ja) * 2014-10-01 2015-01-28 株式会社東芝 画像符号化方法及び画像復号化方法
JP2015053729A (ja) * 2014-11-17 2015-03-19 株式会社東芝 画像符号化方法及び画像復号化方法
FR3029055B1 (fr) * 2014-11-24 2017-01-13 Ateme Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
FR3029333A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
WO2017082443A1 (ko) * 2015-11-13 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
JP6196341B2 (ja) * 2016-02-17 2017-09-13 株式会社東芝 画像符号化方法及び画像復号化方法
US10271062B2 (en) * 2016-03-18 2019-04-23 Google Llc Motion vector prediction through scaling
US10834420B2 (en) 2016-04-29 2020-11-10 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding video signal
KR102587638B1 (ko) * 2016-06-09 2023-10-10 인텔 코포레이션 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템
JP6271694B2 (ja) * 2016-12-16 2018-01-31 株式会社東芝 画像符号化方法及び画像復号化方法
WO2018128223A1 (ko) * 2017-01-03 2018-07-12 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
CN108495130B (zh) * 2017-03-21 2021-04-20 腾讯科技(深圳)有限公司 视频编码、解码方法和装置、终端、服务器和存储介质
JP6370977B2 (ja) * 2017-08-31 2018-08-08 株式会社東芝 画像符号化方法及び画像復号化方法
KR102471076B1 (ko) * 2017-09-19 2022-11-25 삼성전자주식회사 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
JP6367452B2 (ja) * 2017-11-13 2018-08-01 株式会社東芝 画像符号化方法及び画像復号化方法
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
US11425390B2 (en) * 2018-01-26 2022-08-23 Electronics And Telecommunications Research Institute Method and apparatus for image encoding and image decoding using temporal motion information
EP3554082A1 (en) * 2018-04-11 2019-10-16 InterDigital VC Holdings, Inc. A method and device for coding the geometry of a point cloud
MX2020013802A (es) * 2018-06-25 2021-05-27 Electronics & Telecommunications Res Inst Metodo y aparato para codificar/decodificar imagenes usando parametros de cuantificacion, y medio de grabacion que almacena flujo de bits.
JP6609004B2 (ja) * 2018-07-02 2019-11-20 株式会社東芝 画像符号化方法及び画像復号化方法
EP3866470A4 (en) * 2018-10-10 2022-07-20 Samsung Electronics Co., Ltd. VIDEO ENCODING AND DECODING METHODS USING DIFFERENTIAL MOTION VECTOR VALUES, AND APPARATUS FOR ENCODING AND DECODING MOTION INFORMATION
CN112970264A (zh) * 2018-11-05 2021-06-15 交互数字Vc控股公司 基于相邻样本相关参数模型的译码模式的简化
GB2580084B (en) * 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
US10798380B1 (en) * 2019-03-18 2020-10-06 Amazon Technologies, Inc. Adaptive use of search modes based on neighboring blocks
US10694189B1 (en) * 2019-03-18 2020-06-23 Amazon Technologies, Inc. Adaptive use of search modes based on bandwidth availability
US11375243B2 (en) * 2019-07-17 2022-06-28 Tencent America LLC Method and apparatus for video coding
JP7242811B2 (ja) 2019-10-21 2023-03-20 株式会社東芝 画像符号化方法及び画像復号化方法
JP6980889B2 (ja) * 2019-10-21 2021-12-15 株式会社東芝 画像符号化方法及び画像復号化方法
JP6961781B2 (ja) * 2019-10-21 2021-11-05 株式会社東芝 画像符号化方法及び画像復号化方法
JP6795666B2 (ja) * 2019-10-21 2020-12-02 株式会社東芝 画像符号化方法及び画像復号化方法
CN113808157B (zh) * 2021-11-18 2022-02-22 腾讯科技(深圳)有限公司 图像处理方法、装置、及计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2189120C2 (ru) * 1996-09-09 2002-09-10 Сони Корпорейшн Кодирование и декодирование изображений
RU2335859C2 (ru) * 2003-12-22 2008-10-10 Кэнон Кабусики Кайся Устройство кодирования движущихся изображений, способ и программа управления этим устройством

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10178639A (ja) 1996-12-19 1998-06-30 Matsushita Electric Ind Co Ltd 画像コーデック部および画像データ符号化方法
US6212237B1 (en) * 1997-06-17 2001-04-03 Nippon Telegraph And Telephone Corporation Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program
JPH11146367A (ja) 1997-11-06 1999-05-28 Matsushita Electric Ind Co Ltd モバイルビデオフォン
RU2182727C2 (ru) * 2000-07-20 2002-05-20 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
ES2545213T3 (es) 2001-11-21 2015-09-09 Google Technology Holdings LLC Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
PT3525464T (pt) * 2002-04-19 2021-04-06 Panasonic Ip Corp America Método e sistema de codificação e descodificação de imagem
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
GB0228281D0 (en) * 2002-12-04 2003-01-08 Imec Inter Uni Micro Electr Coding of motion vectors produced by wavelet-domain motion estimation
JP4536325B2 (ja) * 2003-02-04 2010-09-01 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
CN1194544C (zh) * 2003-04-25 2005-03-23 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
US8085845B2 (en) * 2003-08-26 2011-12-27 Thomson Licensing Method and apparatus for encoding hybrid intra-inter coded blocks
KR100597397B1 (ko) * 2003-11-06 2006-07-07 삼성전자주식회사 고속 움직임추정 알고리즘을 갖는 동영상 코딩방법 및 장치
KR100800772B1 (ko) 2004-05-26 2008-02-01 마츠시타 덴끼 산교 가부시키가이샤 움직임 벡터 부호화 장치, 방법, 프로그램 및 매체
WO2006012383A2 (en) 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
KR100786132B1 (ko) * 2004-11-01 2007-12-21 한국전자통신연구원 적응적으로 세분화된 gop 구조를 이용한 계층적b픽쳐-기반 동영상 부호화 및 복호화 방법
US20060120612A1 (en) 2004-12-08 2006-06-08 Sharath Manjunath Motion estimation techniques for video encoding
TWI274509B (en) * 2005-02-22 2007-02-21 Sunplus Technology Co Ltd Method and system for dynamically adjusting motion estimation
JP4519723B2 (ja) 2005-06-27 2010-08-04 富士通セミコンダクター株式会社 動きベクトルを利用する動画像データの符号化または復号化装置
US8761259B2 (en) * 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
KR101441269B1 (ko) * 2005-09-26 2014-09-18 미쓰비시덴키 가부시키가이샤 동화상 복호 장치 및 동화상 복호 방법
JP5020829B2 (ja) * 2005-12-27 2012-09-05 シャープ株式会社 動画像復号装置および動画像符号化装置
EP1809041A1 (en) * 2006-01-11 2007-07-18 Mitsubishi Electric Information Technology Centre Europe B.V. Error concealement for scalable video coding
CN101491096B (zh) * 2006-07-12 2012-05-30 Lg电子株式会社 信号处理方法及其装置
BRPI0715770B1 (pt) 2006-08-25 2020-03-10 Interdigital Vc Holdings, Inc. Método, aparelho e mídia de armazenamento para particionamento com menor resolução
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
JP5271271B2 (ja) * 2006-11-03 2013-08-21 サムスン エレクトロニクス カンパニー リミテッド 動きベクトル・トラッキングを利用した映像の符号化、復号化方法及び装置
US8275039B2 (en) 2006-11-07 2012-09-25 Samsung Electronics Co., Ltd. Method of and apparatus for video encoding and decoding based on motion estimation
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US7991237B2 (en) * 2007-06-28 2011-08-02 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
CN101415122B (zh) 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
US8462853B2 (en) 2007-10-16 2013-06-11 Lg Electronics Inc. Method and an apparatus for processing a video signal
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
WO2009091387A1 (en) * 2008-01-17 2009-07-23 Thomson Licensing Reduced video flicker
KR101505195B1 (ko) * 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
KR20090097689A (ko) * 2008-03-12 2009-09-16 삼성전자주식회사 영상의 인트라 예측 부호화/복호화 방법 및 장치
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
EP2269379B1 (en) * 2008-04-11 2019-02-27 InterDigital Madison Patent Holdings Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
WO2011034148A1 (ja) 2009-09-18 2011-03-24 シャープ株式会社 符号化装置、復号装置、動画像符号化装置、動画像復号装置、および符号化データ
US20120213288A1 (en) 2009-10-20 2012-08-23 Yoshihiro Kitaura Video encoding device, video decoding device, and data structure
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
EP3471420B1 (en) * 2011-11-18 2020-05-13 Google Technology Holdings LLC An explicit way for signaling a collocated picture for high efficiency video coding (hevc)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2189120C2 (ru) * 1996-09-09 2002-09-10 Сони Корпорейшн Кодирование и декодирование изображений
RU2335859C2 (ru) * 2003-12-22 2008-10-10 Кэнон Кабусики Кайся Устройство кодирования движущихся изображений, способ и программа управления этим устройством

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2801154C1 (ru) * 2020-04-10 2023-08-02 Самсунг Электроникс Ко., Лтд. Устройство и способ для кодирования вектора движения и устройство и способ для декодирования вектора движения
RU2818966C2 (ru) * 2020-04-10 2024-05-08 Самсунг Электроникс Ко., Лтд. Устройство и способ для кодирования вектора движения и устройство и способ для декодирования вектора движения

Also Published As

Publication number Publication date
MY172478A (en) 2019-11-26
CA2880472C (en) 2016-10-18
CA2880472A1 (en) 2011-07-21
US8995529B2 (en) 2015-03-31
JP5882228B2 (ja) 2016-03-09
US20140126649A1 (en) 2014-05-08
CN102792697A (zh) 2012-11-21
JP6073404B2 (ja) 2017-02-01
BR112012017408B1 (pt) 2022-04-19
JP5937717B2 (ja) 2016-06-22
CN104980735B (zh) 2018-11-02
CN104469362B (zh) 2016-08-31
ZA201501191B (en) 2015-07-29
RU2012134634A (ru) 2014-02-27
BR122015021366A2 (pt) 2018-09-25
MY183996A (en) 2021-03-17
BR122013020551A2 (pt) 2019-08-06
EP2928194A3 (en) 2016-01-13
SG192511A1 (en) 2013-08-30
JP2015165694A (ja) 2015-09-17
CN102792697B (zh) 2016-11-02
US20140126646A1 (en) 2014-05-08
KR101522850B1 (ko) 2015-05-26
AU2011205896A1 (en) 2012-08-30
BR122015021367A2 (pt) 2019-08-27
JP2015165695A (ja) 2015-09-17
US8861610B2 (en) 2014-10-14
KR20110083365A (ko) 2011-07-20
RU2604998C2 (ru) 2016-12-20
JP2013258752A (ja) 2013-12-26
RU2013158843A (ru) 2015-07-10
RU2604996C2 (ru) 2016-12-20
US9106924B2 (en) 2015-08-11
ZA201408374B (en) 2015-01-28
RU2013158838A (ru) 2014-09-27
EP2930929A2 (en) 2015-10-14
BR112012017408A2 (pt) 2018-05-29
EP2928194A2 (en) 2015-10-07
EP2930933A3 (en) 2016-01-13
RU2013158760A (ru) 2015-07-10
RU2013158636A (ru) 2015-07-10
CA2828001A1 (en) 2011-07-21
US20140126636A1 (en) 2014-05-08
SG192512A1 (en) 2013-08-30
SG182491A1 (en) 2012-08-30
EP2645718A2 (en) 2013-10-02
JP2015165696A (ja) 2015-09-17
RU2513707C1 (ru) 2014-04-20
JP2013517669A (ja) 2013-05-16
US20110170602A1 (en) 2011-07-14
BR122015021369B1 (pt) 2022-04-19
WO2011087321A3 (en) 2011-12-01
WO2011087321A2 (en) 2011-07-21
MY184910A (en) 2021-04-30
EP2645718A3 (en) 2014-04-09
US20150049816A1 (en) 2015-02-19
CN104869422B (zh) 2017-05-03
JP6073405B2 (ja) 2017-02-01
US20150071358A1 (en) 2015-03-12
BR122015021369A2 (pt) 2019-08-27
EP2524507A4 (en) 2014-04-09
CN104811724A (zh) 2015-07-29
US9131237B2 (en) 2015-09-08
US8861608B2 (en) 2014-10-14
US8295355B2 (en) 2012-10-23
EP2524507A2 (en) 2012-11-21
ZA201408373B (en) 2015-01-28
MY165841A (en) 2018-05-17
BR122015021370B1 (pt) 2022-08-16
JP5620555B2 (ja) 2014-11-05
CA2880465C (en) 2015-07-21
CN104980735A (zh) 2015-10-14
EP2930929A3 (en) 2016-01-13
SG10201500917WA (en) 2015-04-29
CN103220518B (zh) 2016-06-08
CA2828001C (en) 2014-07-08
CN104469362A (zh) 2015-03-25
US20130044815A1 (en) 2013-02-21
MY166200A (en) 2018-06-14
CA2880256C (en) 2017-02-21
SG10201500920VA (en) 2015-04-29
BR122015021370A2 (pt) 2019-08-27
US20120155542A1 (en) 2012-06-21
RU2604997C2 (ru) 2016-12-20
CA2880256A1 (en) 2011-07-21
RU2605362C2 (ru) 2016-12-20
CA2880465A1 (en) 2011-07-21
CN104811724B (zh) 2018-02-02
RU2013158853A (ru) 2015-07-10
RU2514929C2 (ru) 2014-05-10
US8630351B2 (en) 2014-01-14
CA2787006A1 (en) 2011-07-21
CN103220518A (zh) 2013-07-24
US20140126648A1 (en) 2014-05-08
SG10201500923SA (en) 2015-04-29
CN104869422A (zh) 2015-08-26
CA2787006C (en) 2016-03-01
BR122013020551B1 (pt) 2022-08-16
ZA201205735B (en) 2016-01-27
CN104994380A (zh) 2015-10-21
CN104994380B (zh) 2018-11-06
US8867621B2 (en) 2014-10-21
EP2930933A2 (en) 2015-10-14
US8861609B2 (en) 2014-10-14
MX2012008229A (es) 2012-08-17
ZA201304982B (en) 2013-09-25

Similar Documents

Publication Publication Date Title
RU2530252C1 (ru) Способ и устройство для кодирования и декодирования вектора движения
RU2608264C2 (ru) Способ и устройство для кодирования/декодирования вектора движения
KR102027474B1 (ko) 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치