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

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

Info

Publication number
RU2597521C1
RU2597521C1 RU2015120773/08A RU2015120773A RU2597521C1 RU 2597521 C1 RU2597521 C1 RU 2597521C1 RU 2015120773/08 A RU2015120773/08 A RU 2015120773/08A RU 2015120773 A RU2015120773 A RU 2015120773A RU 2597521 C1 RU2597521 C1 RU 2597521C1
Authority
RU
Russia
Prior art keywords
motion vector
block
unit
current block
encoding
Prior art date
Application number
RU2015120773/08A
Other languages
English (en)
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 Самсунг Электроникс Ко., Лтд.
Application granted granted Critical
Publication of RU2597521C1 publication Critical patent/RU2597521C1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Abstract

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

Description

Область техники, к которой относится изобретение
Устройства и способы, совместимые с иллюстративными вариантами осуществления, имеющие отношение к способу и устройству для кодирования вектора движения и, в частности, к способу и устройству для кодирования предсказателя вектора движения текущего блока.
Уровень техники
Кодек, такой как стандарт усовершенствованного кодирования видео группы экспертов по кинематографии MPEG-4 H.264/MPEG-4 AVC, использует векторы движения ранее закодированных блоков, смежных с текущим блоком, для предсказания вектора движения текущего блока. Таким образом, среднее значение векторов движения ранее закодированных блоков, смежных с левой, верхней и верхней правой сторонами текущего блока, используется в качестве предсказателя вектора движения текущего блока.
Раскрытие изобретения
Иллюстративные варианты осуществления обеспечивают способ и устройство для кодирования и декодирования вектора движения и машиночитаемый носитель, хранящий машиночитаемую программу для исполнения способа.
В соответствии с настоящим документом вектор движения эффективно кодируется на основе более точного предсказателя вектора движения.
Краткое описание чертежей
Упомянутые выше и/или другие аспекты изобретения станут более понятны посредством подробного описания иллюстративных вариантов осуществления со ссылкой на приложенные чертежи.
Фиг. 1 - блок-схема устройства для кодирования изображения в соответствии с иллюстративным вариантом осуществления;
Фиг. 2 - блок-схема устройства для декодирования изображения в соответствии с иллюстративным вариантом осуществления;
Фиг. 3 иллюстрирует иерархические блоки кодирования в соответствии с иллюстративным вариантом осуществления;
Фиг. 4 - блок-схема кодера изображения на основе блока кодирования в соответствии с иллюстративным вариантом осуществления;
Фиг. 5 - блок-схема декодера изображения на основе блока кодирования в соответствии с иллюстративным вариантом осуществления;
Фиг. 6 иллюстрирует максимальный блок кодирования, подблок кодирования и блок предсказания в соответствии с иллюстративным вариантом осуществления;
Фиг. 7 иллюстрирует блок кодирования и блок преобразования в соответствии с иллюстративным вариантом осуществления;
Фиг. 8A и 8B иллюстрируют формы разделения блока кодирования, блока предсказания и блока преобразования в соответствии с иллюстративным вариантом осуществления;
Фиг. 9 - блок-схема устройства для кодирования вектора движения в соответствии с иллюстративным вариантом осуществления;
Фиг. 10A и 10B иллюстрируют потенциальные предсказатели векторов движения явного режима в соответствии с иллюстративным вариантом осуществления;
Фиг. 11A-11C иллюстрируют потенциальные предсказатели векторов движения явного режима в соответствии с иллюстративным вариантом осуществления;
Фиг. 12 иллюстрирует способ формирования предсказателей векторов движения в неявном режиме в соответствии с иллюстративным вариантом осуществления;
Фиг. 13 - блок-схема устройства для декодирования вектора движения в соответствии с иллюстративным вариантом осуществления;
Фиг. 14 - блок-схема последовательности операций способа кодирования вектора движения в соответствии с иллюстративным вариантом осуществления; и
Фиг. 15 - блок-схема последовательности операций способа декодирования вектора движения в соответствии с иллюстративным вариантом осуществления.
Осуществление изобретения
В соответствии с аспектом иллюстративного варианта осуществления, обеспечен способ кодирования вектора движения текущего блока, способ содержит этапы, на которых: выбирают в качестве режима кодирования информации о предсказателе вектора движения текущего блока первый режим, в котором кодируется информация, указывающая предсказатель вектора движения, по меньшей мере, из одного предсказателя вектора движения, или второй режим, в котором кодируется информация, указывающая формирование предсказателя вектора движения на основе блоков или пикселей, включенных в ранее закодированную область, смежную с текущим блоком; определяют предсказатель вектора движения текущего блока в соответствии с выбранным режимом и кодируют информацию о предсказателе вектора движения текущего блока; и кодируют вектор разности между вектором движения текущего блока и предсказателем вектора движения текущего блока.
Выбор первого режима или второго режима может включать в себя этап, на котором выбирают первый режим или второй режим на основе глубины, указывающей степень уменьшения от размера максимального блока кодирования текущего изображения или секции до размера текущего блока.
Выбор первого режима или второго режима может включать в себя этап, на котором выбирают первый режим или второй режим в блоке текущего изображения или секции, включающих в себя текущий блок.
Выбор первого режима или второго режима может включать в себя этап, на котором выбирают первый режим или второй режим на основе того, закодирован ли текущий блок в режиме пропуска.
По меньшей мере, один предсказатель вектора движения может включать в себя первый вектор движения блока, смежный с левой стороной текущего блока, второй вектор движения блока, смежный с верхней стороной текущего блока, и третий вектор движения блока, смежный с верхней правой стороной текущего блока.
По меньшей мере, один предсказатель вектора движения может дополнительно включать в себя среднее значение первого вектора движения, второго вектора движения и третьего вектора движения.
По меньшей мере, один предсказатель вектора движения может дополнительно включать в себя предсказатель вектора движения, сформированный на основе вектора движения блока, расположенного аналогично с текущим блоком в опорном изображении, и временного расстояния между опорным изображением и текущим изображением.
Информация, указывающая формирование предсказателя вектора движения на основе блоков или пикселей, включенных в ранее закодированную область, смежную с текущим блоком, может представлять собой информацию, указывающую формирование предсказателя вектора движения текущего блока на основе среднего значения первого вектора движения блока, смежного с левой стороной текущего блока, второго вектора движения блока, смежного с верхней стороной текущего блока, и третьего вектора движения блока, смежного с верхней правой стороной текущего блока.
Информация, указывающая формирование предсказателя вектора движения на основе блоков или пикселей, включенных в ранее закодированную область, смежную с текущим блоком, может представлять собой информацию, указывающую формирование предсказателя вектора движения текущего блока на основе вектора движения, сформированного посредством поиска опорного изображения с использованием пикселей, включенных в ранее закодированную область, смежную с текущим блоком.
В соответствии с аспектом другого иллюстративного варианта осуществления обеспечено устройство для кодирования вектора движения текущего блока, устройство содержит: предсказатель, который выбирает в качестве режима кодирования информации о предсказателе вектора движения текущего блока первый режим, в котором кодируется информация, указывающая предсказатель вектора движения, по меньшей мере, из одного предсказателя вектора движения, или второй режим, в котором кодируется информация, указывающая формирование предсказателя вектора движения на основе блоков или пикселей, включенных в ранее закодированную область, смежную с текущим блоком, и который определяет предсказатель вектора движения текущего блока на основе выбранного режима; первый кодер, который кодирует информацию о предсказателе вектора движения текущего блока, определенную на основе выбранного режима; и второй кодер, который кодирует вектор разности между вектором движения текущего блока и предсказателем вектора движения текущего блока.
В соответствии с аспектом другого иллюстративного варианта осуществления обеспечен способ декодирования вектора движения текущего блока, способ содержит этапы, на которых: декодируют информацию о предсказателе вектора движения текущего блока, закодированную в соответствии с режимом, выбранному из первого режима и второго режима; декодируют вектор разности между вектором движения текущего блока и предсказателем вектора движения текущего блока; формируют предсказатель вектора движения текущего блока на основе декодированной информации о предсказателе вектора движения текущего блока; и восстанавливают вектор движения текущего блока на основе предсказателя вектора движения и вектора разности, причем первый режим представляет собой режим, в котором кодируется информация, указывающая предсказатель вектора движения, по меньшей мере, из одного предсказателя вектора движения, и второй режим представляет собой режим, в котором кодируется информация, указывающая формирование предсказателя вектора движения на основе блоков или пикселей, включенных в ранее декодированную область, смежную с текущим блоком.
В соответствии с аспектом другого иллюстративного варианта осуществления обеспечено устройство для декодирования вектора движения текущего блока, устройство содержит: первый декодер, который декодирует информацию о предсказателе вектора движения текущего блока, закодированную в соответствии с режимом, выбранным из первого режима и второго режима; второй декодер, который декодирует вектор разности между вектором движения текущего блока и предсказателем вектора движения текущего блока; предсказатель, который формирует предсказатель вектора движения текущего блока на основе декодированной информации о предсказателе вектора движения текущего блока; и блок восстановления вектора движения, который восстанавливает вектор движения текущего блока на основе предсказателя вектора движения и вектора разности, причем первый режим представляет собой режим, в котором кодируется информация, указывающая предсказатель вектора движения, по меньшей мере, из одного предсказателя вектора движения, и второй режим представляет собой режим, в котором кодируется информация, указывающая формирование предсказателя вектора движения на основе блоков или пикселей, включенных в ранее декодированную область, смежную с текущим блоком.
В соответствии с аспектом другого иллюстративного варианта осуществления обеспечен машиночитаемый носитель, хранящий машиночитаемую программу для исполнения способа кодирования вектора движения и способа декодирования вектора движения.
Вариант осуществления изобретения
Теперь со ссылкой на сопроводительные чертежи, на которых аналогичные номера для ссылок всюду относятся к аналогичным элементам, будут более полно описаны иллюстративные варианты осуществления. Такие выражения, как “по меньшей мере, один из”, предшествующие списку элементов, изменяют весь список элементов и не изменяют отдельные элементы списка. В настоящем описании "изображение" может обозначать неподвижное изображение для видеоинформации или динамическое изображения, то есть непосредственно саму видеоинформацию.
Фиг. 1 является блок-схемой устройства 100 для кодирования изображения в соответствии с иллюстративным вариантом осуществления. Как показано на Фиг. 1, устройство 100 включает в себя модуль 110 деления на максимальные кодовые блоки, модуль 120 определения глубины кодирования, кодер 130 данных изображения и кодер 140 информации кодирования.
Модуль 110 деления на максимальные блоки кодирования может разделить текущее изображение или секцию на основе максимального блока кодирования, который представляет собой блок кодирования самого большого размера. Таким образом, модуль 110 деления на максимальные блоки кодирования может разделить текущее изображение или секцию для получения, по меньшей мере, одного максимального блока кодирования.
В соответствии с иллюстративным вариантом осуществления блок кодирования может быть представлен с использованием максимального блока кодирования и глубины. Как описано выше, максимальный блок кодирования указывает блок кодирования, имеющий самый большой размер среди блоков кодирования текущего изображения, и глубина указывает размер подблока кодирования, полученного посредством иерархического уменьшения блока кодирования. По мере увеличения глубины блок кодирования может уменьшаться от максимального блока кодирования до минимального блока кодирования, причем глубина максимального блока кодирования определена как минимальная глубина, и глубина минимального блока кодирования определена как максимальная глубина. Поскольку размер блока кодирования уменьшается от максимального блока кодирования по мере увеличения глубины, подблок кодирования с глубиной с порядковым номером k может включать в себя множество подблоков кодирования с глубиной с порядковым номером (k+n) (где k и n - целые числа, равные или больше 1).
В соответствии с увеличением размера изображения, которое будет закодировано, кодирование изображения в более больших блоках кодирования может привести к более высокой степени сжатия изображения. Однако если более большой блок кодирования фиксирован, изображение не может быть эффективно закодировано посредством отражения постоянно изменяющихся характеристик изображения.
Например, при кодировании гладкой области, такой как море или небо, чем больше блок кодирования, тем больше может увеличиться степень сжатия. Однако при кодировании сложной области, такой как люди или здания, чем меньше блок кодирования, тем больше может увеличиться степень сжатия.
Согласно этому, в соответствии с иллюстративным вариантом осуществления, для каждого изображения или секции устанавливаются разные максимальные блоки кодирования изображения и разные максимальные глубины. Поскольку максимальная глубина обозначает максимальное количество раз, в которое может уменьшиться блок кодирования, размер каждого минимального блока кодирования, включенного в максимальный блок кодирования изображения, может быть переменным образом установлен в соответствии с максимальной глубиной.
Модуль 120 определения глубины кодирования определяет максимальную глубину. Например, максимальная глубина может быть определена на основе вычисления зависимости искажений от скорости передачи (R-D). Кроме того, максимальная глубина может быть определена по-разному для каждого изображения или секции или для каждого максимального блока кодирования. Определенная максимальная глубина предоставляется кодеру 140 информации кодирования, и данные изображения в соответствии с максимальным блоком кодирования предоставляются кодеру 130 данных изображения.
Максимальная глубина обозначает блок кодирования, имеющий самый маленький размер, который может быть включен в максимальный блок кодирования, то есть минимальный блок кодирования. Другими словами, максимальный блок кодирования может быть разделен на подблоки кодирования, имеющие разные размеры в соответствии с разными глубинами. Это будет описано подробно позже со ссылкой на Фиг. 8A и 8B. Кроме того, подблоки кодирования, имеющие разные размеры, которые включены в максимальный блок кодирования, могут быть предсказаны или преобразованы на основе блоков обработки, имеющих разные размеры. Другими словами, устройство 100 может выполнить множество операций по обработке для кодирования изображения на основе блоков обработки, имеющих разные размеры и разные формы. Чтобы закодировать данные изображения, выполняются такие операции по обработке, как предсказание, преобразование и статистическое кодирование, причем блоки обработки, имеющие одинаковый размер, могут использоваться для каждой операции, или блоки обработки, имеющие разные размеры, могут использоваться для каждой операции.
Например, устройство 100 может выбрать блок обработки, который отличается от блока кодирования, для предсказания блока кодирования. Когда размер блока кодирования составляет 2N×2N (где N - положительное целое число), блоки обработки для предсказания могут составлять 2N×2N, 2N×N, N×2N и N×N. Другими словами, предсказание движения может быть выполнено на основе блока обработки, имеющего форму, посредством которой, по меньшей мере, либо высота, либо ширина блока кодирования разделяется пополам. В дальнейшем блок обработки, который является основой предсказания, упоминается как блок предсказания.
Режим предсказания может быть, по меньшей мере, одним режимом из режима с интра-кодированием, режима с интер-кодированием, и режима пропуска, и конкретный режим предсказания может быть выполнен только для блока предсказания, имеющего конкретный размер или форму. Например, режим с интра-кодированием может быть выполнен только для блоков предсказания, имеющих размеры 2N×2N и N×N, форма которых представляет собой квадрат. Кроме того, режим пропуска может быть выполнен только для блока предсказания, имеющего размер 2N×2N. Если в блоке кодирования существует множество блоков предсказания, после выполнения предсказания для каждого блока предсказания может быть выбран режим предсказания с наименьшим количеством ошибок кодирования.
В качестве альтернативы, устройство 100 может выполнять частотное преобразование над данными изображения на основе блока обработки, имеющего размер, отличающийся от размера блока кодирования. Для частотного преобразования в блоке кодирования частотное преобразование может быть выполнено на основе блока обработки, имеющего размер, равный или меньше, чем размер блока кодирования. В дальнейшем блок обработки, который является основой частотного преобразования, упоминается как блок преобразования. Частотное преобразование может представлять собой дискретное косинусное преобразование (DCT) или преобразование Карунена-Лоэва (KLT).
Модуль 120 определения глубины кодирования может определять подблоки кодирования, включенные в максимальный блок кодирования, с использованием оптимизации зависимости искажений от скорости передачи (R-D) на основе Лагранжева множителя. Другими словами, модуль 120 определения глубины кодирования может определять, какую форму имеет множество подблоков кодирования, разделенных из максимального блока кодирования, причем множество подблоков кодирования имеет разные размеры в соответствии с их глубинами. Кодер 130 данных изображения выдает битовый поток посредством кодирования максимального блока кодирования на основе форм разделения, определенных модулем 120 определения глубины кодирования.
Кодер 140 информации кодирования кодирует информацию режима кодирования максимального блока кодирования, определенную модулем 120 определения глубины кодирования. Другими словами, кодер 140 информации кодирования выдает битовый поток посредством кодирования информации о форме разделения максимального блока кодирования, информации о максимальной глубине и информации о режиме кодирования подблока кодирования для каждой глубины. Информация о режиме кодирования подблока кодирования может включать в себя, по меньшей мере, один элемент множества, состоящего из информации о блоке предсказания подблока кодирования, информации о режиме предсказания для каждого блока предсказания и информации о блоке преобразования подблока кодирования.
Поскольку подблоки кодирования, имеющие разные размеры, существуют для каждого максимального блока кодирования, и информация о режиме кодирования определена для каждого подблока кодирования, информация, по меньшей мере, об одном режиме кодирования может быть определена для одного максимального блока кодирования.
Устройство 100 может формировать подблоки кодирования посредством равного деления высоты и ширины максимального блока кодирования на два в соответствии с увеличением глубины. Таким образом, когда размер блока кодирования глубины с порядковым номером k составляет 2N×2N, размер блока кодирования глубины с порядковым номером (k+1) может составлять N×N.
Согласно этому, устройство 100 в соответствии с иллюстративным вариантом осуществления может определять оптимальную форму разделения для каждого максимального блока кодирования на основе размеров максимальных блоков кодирования и максимальной глубины с учетом характеристики изображения. Посредством переменного регулирования размера максимального блока кодирования с учетом характеристики изображения и кодирования изображение посредством разделения максимального блока кодирования на подблоки кодирования различных глубин могут быть более эффективно закодированы изображения, имеющие различные разрешения.
Фиг. 2 является блок-схемой устройства 200 для декодирования изображения в соответствии с иллюстративным вариантом осуществления. Как показано на Фиг. 2, устройство 200 включает в себя модуль 210 сбора данных изображения, модуль 220 извлечения информации кодирования и декодер 230 данных изображения.
Модуль 210 сбора данных изображения получает данные изображения в соответствии с максимальными блоками кодирования посредством анализа битового потока, принятого устройством 200 и выдает данные изображения декодеру 230 данных изображения. Модуль 210 сбора данных изображения может извлечь информацию о максимальном блоке кодирования текущего изображения или секции из заголовка текущего изображения или секции. Другими словами, модуль 210 сбора данных изображения делит битовый поток на максимальные блоки кодирования, с тем чтобы декодер 230 данных изображения мог декодировать данные изображения в соответствии с максимальными блоками кодирования.
Модуль 220 извлечения информации кодирования извлекает информацию о максимальном блоке кодирования, максимальной глубине, форме разделения максимального блока кодирования и режиме кодирования подблоков кодирования посредством анализа битового потока, принятого устройством 200. Например, модуль 220 извлечения информации кодирования может извлечь описанную выше информацию из заголовка текущего изображения. Информация о форме разделения и информация о режиме кодирования представляются декодеру 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, 8×4 и 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 является блок-схемой кодера 400 изображения на основе блока кодирования в соответствии с иллюстративным вариантом осуществления. Как показано на Фиг. 4, модуль 410 предсказания с интра-кодированием выполняет предсказание с интра-кодированием над блоками предсказания режима интра-кодирования в текущем кадре 405, и модуль 420 оценки движения и модуль 425 компенсации движения выполняют предсказание с интер-кодированием и компенсацию движения над блоками предсказания режима интер-кодирования с использованием текущего кадра 405 и опорного кадра 495.
На основе блоков предсказания, выданных от модуля 410 предсказания с интра-кодированием, модуля 420 оценки движения и модуля 425 компенсации движения формируются разностные значения. Сформированные разностные значения выдаются как квантованные коэффициенты преобразования посредством прохода через модуль 430 преобразования и модуль 440 квантования.
Квантованные коэффициенты преобразования восстанавливаются в разностные значения посредством прохода через модуль 460 обратного квантования и модуль 470 обратного преобразования. Восстановленные разностные значения подвергаются постобработке посредством прохода модуль 480 удаления блочности и модуль 490 фильтрации с обратной связью и выдаются как опорный кадр 495. Квантованные коэффициенты преобразования могут быть выданы как битовый поток 455 посредством прохода через статистический кодер 450.
Для выполнения кодирования на основе способа кодирования в соответствии с иллюстративным вариантом осуществления компоненты кодера 400 изображения, то есть модуль 410 предсказания с интра-кодированием, модуль 420 оценки движения, модуль 425 компенсации движения, модуль 430 преобразования, модуль 440 квантования, статистический кодер 450, модуль 460 обратного квантования, модуль 470 обратного преобразования, модуль 480 удаления блочности и модуль 490 фильтрации с обратной связью, выполняют процессы кодирования изображения на основе максимального блока кодирования, подблока кодирования в соответствии с глубинами, блока предсказания и блоку преобразования.
Фиг. 5 является блок-схемой декодера 500 изображения на основе блока кодирования в соответствии с иллюстративным вариантом осуществления. Как показано на Фиг. 5, битовый поток 505 проходит через анализатор 510, с тем чтобы закодированные данные изображения, которые будут декодированы, и информация кодирования, используемая для декодирования, были проанализированы. Закодированные данные изображения выдаются как подвергнутые обратному квантованию данные посредством прохода через статистический декодер 520 и модуль 530 обратного квантования и восстанавливаются в разностные значения посредством прохода через модуль 540 обратного преобразования. Разностные значения восстанавливаются в соответствии с блоками кодирования, добавленными к результату предсказания с интра-кодированием модуля 550 предсказания с интра-кодированием или к результату компенсации движения модуля 560 компенсации движения. Восстановленные блоки кодирования используются для предсказания следующих блоков кодирования или следующего изображения посредством прохода через модуль 570 удаления блочности и модуль 580 фильтрации с обратной связью.
Для выполнения декодирования на основе способа декодирования в соответствии с иллюстративным вариантом осуществления компоненты декодера 500 изображения, то есть анализатор 510, статистический декодер 520, модуль 530 обратного квантования, модуль 540 обратного преобразования, модуль 550 предсказания с интра-кодированием, модуль 560 компенсации движения, модуль 570 удаления блочности и модуль 580 фильтрации с обратной связью выполняют процессы декодирования изображения на основе максимального блока кодирования, подблока кодирования в соответствии с глубинами, блока предсказания и блока преобразования.
В частности, модуль 550 предсказания с интра-кодированием и модуль 560 компенсации движения определяют блок предсказания и режим предсказания в подблоке кодирования с учетом максимального блока кодирования и глубины, и модуль 540 обратного преобразования выполняет обратное преобразование с учетом размера блока преобразования.
Фиг. 6 иллюстрирует максимальный блок кодирования, подблок кодирования и блок предсказания в соответствии с иллюстративным вариантом осуществления.
Как описано выше, устройство 100 кодирования и устройство 200 декодирования в соответствии с одним или более иллюстративными вариантами осуществления используют иерархические блоки кодирования для выполнения кодирования и декодирования с учетом характеристик изображения. Максимальный блок кодирования и максимальная глубина могут быть адаптивно установлены в соответствии с характеристиками изображения или переменным образом установлены в соответствии с требованиями пользователя.
Как показано на Фиг. 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, является минимальным блоком кодирования. Минимальный блок 650 кодирования может быть разделен на блоки предсказания, каждый из которых является меньше минимального блока кодирования.
В иллюстративном варианте осуществления, показанном на Фиг. 6, примеры блока предсказания показаны вдоль горизонтальной оси в соответствии с каждой глубиной. Таким образом, блок предсказания максимального блока 610 кодирования, глубина которого равна 0, может представлять собой блок предсказания, размер которого равен блоку 610 кодирования, то есть составляет 64×64, или блок 612 предсказания, размер которого составляет 64×32, блок 614 предсказания, размер которого составляет 32×64, или блок 616 предсказания, размер которого составляет 32×32,которые имеют размер, меньший чем блок 610 кодирования, размер которого составляет 64×64.
Блок предсказания блока 610 кодирования, глубина которого равна 1 и размер составляет 32×32, может представлять собой блок предсказания, размер которого равен блоку 620 кодирования, то есть составляет 32×32, или блок 622 предсказания, размер которого составляет 32×16, блок 624 предсказания, размер которого составляет 16×32, или блок 626 предсказания, размер которого составляет 16×16, которые имеют размер, меньший чем блок 620 кодирования, размер которого составляет 32×32.
Блок предсказания блока 630 кодирования, глубина которого равна 2 и размер составляет 16×16, может представлять собой блок предсказания, размер которого равен блоку 630 кодирования, то есть составляет 16×16, или блок 632 предсказания, размер которого составляет 16×8, блок 634 предсказания, размер которого составляет 8×16, или блок 636 предсказания, размер которого составляет 8×8, которые имеют размер, меньший чем блок 630 кодирования, размер которого составляет 16×16.
Блок предсказания блока 640 кодирования, глубина которого равна 3 и размер составляет 8×8, может представлять собой блок предсказания, размер которого равен блоку 640 кодирования, то есть составляет 8×8, или блок 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 кодирования и устройство 200 декодирования в соответствии с одним или более иллюстративными вариантами осуществления выполняют кодирование непосредственно с максимальным блоком кодирования или с подблоками кодирования, которые равны или меньше максимального блока кодирования и разделены из максимального блока кодирования.
В процессе кодирования размер блока преобразования для частотного преобразования выбирается таким образом, чтобы он был не больше, чем размер соответствующего блока кодирования. Например, когда текущий блок 710 кодирования имеет размер 64×64, частотное преобразование может быть выполнено с использованием блока 720 преобразования, имеющего размер 32×32.
Фиг. 8A и 8B иллюстрируют формы разделения блока кодирования, блока предсказания и блока преобразования в соответствии с иллюстративным вариантом осуществления. Фиг. 8A иллюстрирует блок кодирования и блок предсказания в соответствии с иллюстративным вариантом осуществления.
Левая сторона Фиг. 8A показывает форму разделения, выбранную устройством 100 кодирования в соответствии с иллюстративным вариантом осуществления для кодирования максимального блока 810 кодирования. Устройство 100 делит максимальный блок 810 кодирования на различные формы, выполняет кодирование и выбирает оптимальную форму разделения, сравнивая результаты кодирования различных форм разделения друг с другом на основе зависимости искажений от скорости передачи (R-D). Когда оптимальным является кодирование максимального блока 810 кодирования, как он есть, максимальный блок 810 кодирования может быть закодирован без разделения максимального блока 810 кодирования, показанного на Фиг. 8A и 8B.
Как показано на левой стороне Фиг. 8A, максимальный блок 810 кодирования, глубина которого равна 0, кодируется посредством разделения максимального блока кодирования на подблоки кодирования, глубины которых равны или больше, чем 1. Таким образом, максимальный блок 810 кодирования разделяется на 4 подблока кодирования, глубины которых равны 1, и все или некоторые из подблоков кодирования, глубины которых равны 1, разделяются на подблоки кодирования, глубины которых равны 2.
Подблок кодирования, расположенный сверху справа, и подблок кодирования, расположенный снизу слева, среди подблоков кодирования, глубины которых равны 1, разделены на подблоки кодирования, глубины которых равны или больше, чем 2. Некоторые из подблоков кодирования, глубины которых равны или больше, чем 2, могут быть разделены на подблоки кодирования, глубины которых равны или больше чем 3.
Правая сторона Фиг. 8A показывает форму разделения блока предсказания для максимального блока 810 кодирования. Как показано на правой стороне Фиг. 8A, блок 860 предсказания для максимального блока 810 кодирования может быть разделен по-другому по сравнению с максимальным блоком 810 кодирования. Другими словами, блок предсказания для каждого из подблоков кодирования может быть меньше соответствующего подблока кодирования.
Например, блок предсказания для подблока 854 кодирования, расположенного внизу справа, среди подблоков кодирования, глубины которых равны 1, может быть меньше подблока 854 кодирования. Кроме того, блоки предсказания для некоторых подблоков 814, 816, 850 и 852 кодирования подблоков 814, 816, 818, 828, 850 и 852 кодирования, глубины которых равны 2, могут быть меньше подблоков 814, 816, 850 и 852, соответственно. Кроме того, блоки предсказания для подблоков 822, 832 и 848 кодирования, глубины которых равны 3, могут быть меньше подблоков 822, 832 и 848 кодирования, соответственно. Блоки предсказания могут иметь форму, посредством которой соответствующие подблоки кодирования разделены пополам в направлении высоты или ширины, или имеют форму, посредством которой соответствующие подблоки кодирования разделены на четыре равных части в направлении высоты и ширины.
Фиг. 8B иллюстрирует блок предсказания и блок преобразования в соответствии с иллюстративным вариантом осуществления. Левая сторона Фиг. 8B показывает форму разделения блока предсказания для максимального блока 810 кодирования, показанного на правой стороне Фиг. 8A, и правая сторона Фиг. 8B показывает форму разделения блока преобразования максимального блока 810 кодирования.
Как показано на правой стороне Фиг. 8B, форма разделения блока 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 предсказания, может реализовать режим явного кодирования информации о предсказателе вектора движения текущего блока. Этот явный режим представляет собой режим вычисления, по меньшей мере, одного потенциального предсказателя вектора движения и отдельного кодирования информации, указывающей, какой предсказатель вектора движения используется для предсказания вектора движения текущего блока. Потенциальные предсказатели векторов движения в соответствии с одним или более иллюстративными вариантами осуществления теперь будут описаны со ссылкой на Фиг. 10A, 10B и 11A-11C.
Фиг. 10A и 10B иллюстрируют потенциальные предсказатели векторов движения явного режима в соответствии с одним или более иллюстративными вариантами осуществления. Как показано на Фиг. 10A, способ предсказания вектора движения в соответствии с иллюстративным вариантом осуществления может использовать один из векторов движения ранее закодированных блоков, смежных с текущим блоком, в качестве предсказателя вектора движения текущего блока. Блок a0, самый левый среди блоков, смежных с верхней стороной текущего блока, блок b0, самый верхний среди блоков, смежных с его левой стороной, блок c, смежный с его верхним правым углом, блок d, смежный с его верхним левым углом, и блок e, смежный с его нижним правым углом, могут использоваться для предсказателей векторов движения текущего блока.
Как показано на Фиг. 10B, векторы движения всех блоков, смежных с текущим блоком, могут использоваться в качестве предсказателей векторов движения текущего блока. Другими словами, векторы движения не только блока a0, самого левого среди блоков, смежных с верхней стороной текущего блока, но всех блоков, смежных с его верхней стороной, могут использоваться в качестве предсказателей векторов движения текущего блока. Кроме того, векторы движения не только блока b0, самого верхнего среди блоков, смежных с его левой стороной, но всех блоков, смежных с его левой стороной, могут использоваться в качестве предсказателей векторов движения текущего блока.
В качестве альтернативы, среднее значение векторов движения смежных блоков может использоваться в качестве предсказателя вектора движения. Например, среднее значение от (mv_ a0, mv_ b0, mv_c) может использоваться в качестве предсказателя вектора движения текущего блока, причем mv_a0 обозначает вектор движения блока a0, mv_b0 обозначает вектор движения блока b0, и mv_c обозначает вектор движения блока c.
Фиг. 11A-11C иллюстрируют потенциальные предсказатели векторов движения явного режима в соответствии с другим иллюстративным вариантом осуществления. Фиг. 11A иллюстрирует способ вычисления предсказателя вектора движения изображения с двунаправленным предсказанием (называемого B-изображением) в соответствии с иллюстративным вариантом осуществления. Когда текущее изображение, включающее в себя текущий блок, является B-изображением, в котором выполняется двунаправленное предсказание, вектор движения, сформированный на основе временного расстояния, может представлять собой предсказатель вектора движения.
Как показано на Фиг. 11A, предсказатель вектора движения текущего блока 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.
Фиг. 11B иллюстрирует способ формирования предсказателя вектора движения B-изображения в соответствии с другим иллюстративным вариантом осуществления. По сравнению со способом, проиллюстрированным на Фиг. 11A, блок 1130 в позиции, аналогичной с текущим блоком 1100, существует в следующем по времени изображении 1114 на Фиг. 11B.
Как показано на Фиг. 11B, предсказатель вектора движения текущего блока 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.
При формировании вектора движения текущего блока 1100 B-изображения может использоваться, по меньшей мере, один из способов, проиллюстрированных на Фиг. 11A и 11B. Другими словами, поскольку предсказатель вектора движения сформирован с использованием вектора движения и временного расстояния блока 1120 или 1130 в позиции, расположенной аналогично с текущим блоком 1100, предсказатели векторов движения могут быть сформированы с использованием способов, проиллюстрированных на Фиг. 11A и 11B, если существуют векторы движения блоков 1120 и 1130 в аналогично расположенной позиции. Таким образом, модуль 910 предсказания в соответствии с иллюстративным вариантом осуществления может сформировать предсказатель вектора движения текущего блока 1100 с использованием только блока, имеющего вектор движения, среди блоков 1120 и 1130 в аналогично расположенной позиции.
Например, когда блок 1120 в аналогично расположенной позиции предыдущего по времени изображения 1112 кодируется с использованием предсказания с интра-кодированием вместо предсказания с интер-кодированием, вектор движения блока 1120 не существует, и, таким образом, предсказатель вектора движения текущего блока 1100 не может быть сформирован с использованием способа формирования предсказателя вектора движения, проиллюстрированного на Фиг. 11A.
Фиг. 11C иллюстрирует способ формирования предсказателя вектора движения B-изображения в соответствии с иллюстративным вариантом осуществления. Как показано на Фиг. 11C, предсказатель вектора движения текущего блока 1100 текущего изображения 1110 может быть сформирован с использованием вектора движения блока 1140 в аналогично расположенной позиции предыдущего по времени изображения 1112. Например, если вектор движения mv_colC блока 1130 в позиции, расположенной аналогично с текущим блоком 1100, сформирован для искомого блока 1142 другого предыдущего по времени изображения 1116, потенциальный предсказатель вектора движения mv_L0C текущего блока 1100 может быть сформирован в соответствии с уравнением ниже:
mv_L0C=(t6/t5)×mv_colC.
Поскольку текущее изображение 1110 является P-изображением, количество предсказателей векторов движения текущего блока 1100 равно 1, в отличие от Фиг. 11A и 11B.
В итоге, множество C потенциальных предсказателей векторов движения в соответствии с Фиг. 10A, 10B и 11A-11C может быть сформировано в соответствии с уравнением ниже:
C={median(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}.
В качестве альтернативы, множество C может быть сформировано посредством сокращения количества потенциальных предсказателей векторов движения в соответствии с уравнением ниже:
C={median(mv_a′, mv_b′, mv_c′), mv_a′, mv_b′, mv_c′, mv_temporal}.
Здесь mv_x обозначает вектор движения блока x, median() обозначает среднее значение, и mv_temporal обозначает потенциальные предсказатели векторов движения, сформированные с использование временного расстояния, описанного выше в связи с Фиг. 11A к 11C.
Кроме того, mv_a′ обозначает самый первый допустимый вектор движения среди mv_a0, mv_a1. …, mv_aN. Например, когда блок a0 закодирован с использованием предсказания с интра-кодированием, вектор движения mv_a0 блока a0 не является допустимым, и, таким образом, mv_a′=mv_a1, и если вектор движения блока a1 также не является допустимым, mv_a′=mv_a2.
Аналогичным образом, mv_b′ обозначает первый допустимый вектор движения среди mv_b0, mv_b1, …, mv_bN, и mv_c′ обозначает первый допустимый вектор движения среди mv_c, mv_d, и mv_e.
Явный режим представляет собой режим кодирования информации, указывающей, какой вектор движения использовался для предсказателя вектора движения текущего блока. Например, когда вектор движения закодирован в явном режиме, каждому из элементов множества C, то есть потенциальному предсказателю вектора движения может быть выделено двоичное число, и если один из потенциальных кандидатов используется в качестве предсказателя вектора движения текущего блока, может выдаваться соответствующее двоичное число.
Специалисты в области техники легко поймут, что совместно с явным режимом могут использоваться другие потенциальные предсказатели векторов движения помимо описанных выше.
(2) Неявный режим
Другой один из способов кодирования предсказателя вектора движения, который может быть выбран модулем 910 предсказания, реализует режим кодирования информации, указывающей, что предсказатель вектора движения текущего блока сформирован на основе блоков или пикселей, включенных в ранее закодированную область, смежную с текущим блоком. В отличие от явного режима, этот режим представляет собой режим кодирования информации, указывающей формирование предсказателя вектора движения в неявном режиме без кодирования информации для обозначения предсказателя вектора движения.
Как описано выше, такой кодек, как MPEG 4 H.264/MPEG-4 AVC использует векторы движения для ранее закодированных блоков, смежных с текущим блоком, для предсказания вектора движения текущего блока. Таким образом, среднее значение векторов движения ранее закодированных блоков, смежных с левой, верхней и верхней правой сторонами текущего блока, используется в качестве предсказателя вектора движения текущего блока. В этом случае, в отличие от явного режима, информация для выбора одного из потенциальных предсказателей векторов движения может не кодироваться.
Другими словами, если в процессе кодирования изображения закодирована только информация, указывающая, что предсказатель вектора движения текущего блока был закодирован в неявном режиме, в процессе декодирования изображения в качестве предсказателя вектора движения текущего блока может использоваться среднее значение векторов движения ранее закодированных блоков, смежных с левой, верхней и верхней правой сторонами текущего блока.
Кроме того, способ кодирования изображения в соответствии с иллюстративным вариантом осуществления обеспечивает новый неявный режим помимо способа использования среднего значения векторов движения ранее закодированных блоков, смежных с левой, верхней и верхней правой сторонами текущего блока в качестве предсказателя вектора движения текущего блока. Теперь это будет подробно описано со ссылкой на Фиг. 12.
Фиг. 12 иллюстрирует способ формирования предсказателя вектора движения в неявном режиме в соответствии с иллюстративным вариантом осуществления. Как показано на Фиг. 12, пиксели 1222, включенные в ранее закодированную область 1220, смежную с текущим блоком 1200 текущего изображения 1210, используются для формирования предсказателя вектора движения текущего блока 1200. Соответствующие пиксели 1224 определяются посредством поиска опорного изображения 1212 с использованием смежных пикселей 1222. Соответствующие пиксели 1224 могут быть определены посредством вычисления суммы абсолютных разностей (SAD). Когда соответствующие пиксели 1224 определены, формируется вектор движения mv_template смежных пикселей 1222, и вектор движения mv_template может использоваться в качестве предсказателя вектора движения текущего блока 1200.
Если режим использования среднего значения векторов движения смежных блоков в качестве предсказателя вектора движения определен как “неявный режим 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 кодирует информацию, указывающую, что предсказатель вектора движения был сформирован в явном режиме, и информацию, указывающую, какой потенциальный предсказатель вектора движения использовался в качестве предсказателя вектора движения текущего блока.
Напротив, когда модуль 910 предсказания определяет, что вектор движения текущего блока закодирован в неявном режиме, первый кодер 920 кодирует информацию, указывающую, что предсказатель вектора движения текущего блока был сформирован в неявном режиме. Другими словами, первый кодер 920 кодирует информацию, указывающую, что предсказатель вектора движения текущего блока был сформирован с использованием блоков или пикселей, смежных с текущим блоком. Если используются два или более неявных режимов, первый кодер 920 может дополнительно закодировать информацию, указывающую, какой неявный режим использовался для формирования предсказателя вектора движения текущего блока.
Второй кодер 930 кодирует вектор движения текущего блока на основе предсказателя вектора движения, определенного модулем 910 предсказания. В качестве альтернативы, второй кодер 930 формирует вектор разности посредством вычитания предсказателя вектора движения, сформированного модулем 910 предсказания, из вектора движения текущего блока, сформированного в результате компенсации движения, и кодирует информацию о векторе разности.
Фиг. 13 является блок-схемой устройства 1300 для декодирования вектора движения в соответствии с иллюстративным вариантом осуществления. Устройство 1300 для декодирования вектора движения может быть включено в устройство 200 декодирования изображения, описанное выше со ссылкой на Фиг. 2, или декодер 500 изображения, описанный выше со ссылкой на Фиг. 5. Как показано на Фиг. 13, устройство 1300 декодирования вектора движения включает в себя первый декодер 1310, второй декодер 1320, модуль 1330 предсказания и модуль 1340 восстановления вектора движения.
Первый декодер 1310 декодирует информацию о предсказателе вектора движения текущего блока, которая включена в битовый поток. Более подробно, первый декодер 1310 декодирует информацию, указывающую, был ли предсказатель вектора движения текущего блока закодирован в явном режиме или неявном режиме. Когда предсказатель вектора движения текущего блока был закодирован в явном режиме, первый декодер 1310 далее декодирует информацию, указывающую предсказатель вектора движения, использованный в качестве предсказателя вектора движения текущего блока, среди множества предсказателей векторов движения. Когда предсказатель вектора движения текущего блока был закодирован в неявном режиме, первый декодер 1310 может далее декодировать информацию, указывающую, какой из множества неявных режимов использовался для кодирования предсказателя вектора движения текущего блока.
Второй декодер 1320 декодирует вектор разности между вектором движения и предсказателем вектора движения текущего блока, включенным в битовый поток.
Модуль 1330 предсказания формирует предсказатель вектора движения текущего блока на основе информации о предсказателе вектора движения текущего блока, которая была декодирована первым декодером 1310.
Когда декодируется информация о предсказателе вектора движения текущего блока, который был закодирован в явном режиме, модуль 1330 предсказания формирует предсказатель вектора движения среди потенциальных предсказателей векторов движения, описанных выше со ссылкой на Фиг. 10A, 10B и 11A-11C, и использует сформированный предсказатель вектора движения в качестве предсказателя вектора движения текущего блока.
Когда декодируется информация о предсказателе вектора движения текущего блока, который был закодирован в неявном режиме, модуль 1330 предсказания формирует предсказатель вектора движения текущего блока с использованием блоков или пикселей, включенных в ранее закодированную область, смежную с текущим блоком. Более подробно, модуль 1330 предсказания формирует среднее значение векторов движения блоков, смежных с текущим блоком, в качестве предсказателя вектора движения текущего блока или формирует предсказатель вектора движения текущего блока посредством поиска опорного изображения с использованием пикселей, смежных с текущим блоком.
Модуль 1340 восстановления вектора движения восстанавливает вектор движения текущего блока посредством суммирования предсказателя вектора движения, сформированного модулем 1330 предсказания, и вектора разности, декодированного вторым декодером 1320. Восстановленный вектор движения используется для компенсации движения текущего блока.
Фиг. 14 является блок-схемой последовательности операций способа кодирования вектора движения в соответствии с иллюстративным вариантом осуществления. Как показано на Фиг. 14, устройство 900 кодирования вектора движения в соответствии с иллюстративным вариантом осуществления выбирает один режим из явного режима и неявного режима в качестве режима кодирования информации о предсказателе вектора движения на этапе 1410.
Явный режим представляет собой режим кодирования информации, указывающей потенциальный предсказатель вектора движения, по меньшей мере, среди одного потенциального предсказателя вектора движения в качестве информации о предсказателе вектора движения, и неявный режим представляет собой режим кодирования информации, указывающей, что предсказатель вектора движения был сформирован на основе блоков или пикселей, включенных в ранее закодированную область, смежную с текущим блоком, в качестве информации о предсказателе вектора движения. Их подробные описания были даны выше со ссылкой на Фиг. 10A, 10B, 11A-11C и 12.
Режим может быть выбран на основе размера текущего блока, то есть глубины текущего блока или выбран в блоке текущего изображения или секции, в которую включен текущий блок. В качестве альтернативы, режим может быть выбран согласно тому, был ли текущий блок закодирован в режиме пропуска.
На этапе 1420 устройство 900 кодирования вектора движения определяет предсказатель вектора движения в соответствии с режимом, выбранным на этапе 1410. Более подробно, устройство 900 кодирования вектора движения определяет предсказатель вектора движения текущего блока на основе явного режима или неявного режима, выбранного на этапе 1410. Более подробно, устройство 900 кодирования вектора движения определяет потенциальный предсказатель вектора движения, по меньшей мере, среди одного потенциального предсказателя вектора движения в качестве предсказателя вектора движения текущего блока в явном режиме или определяет предсказатель вектора движения текущего блока на основе блоков или пикселей, смежных с текущим блоком, в неявном режиме.
На этапе 1430 устройство 900 кодирования вектора движения кодирует информацию о предсказателе вектора движения, определенном на этапе 1420. В случае явного режима устройство 900 кодирования вектора движения кодирует информацию, указывающую потенциальный предсказатель вектора движения, по меньшей мере, среди одного потенциального предсказателя вектора движения, в качестве предсказателя вектора движения текущего блока и информацию, указывающую, что информация о предсказателе вектора движения текущего блока была закодирована в явном режиме. В случае неявного режима устройство 900 кодирования вектора движения кодирует информацию, указывающую, что предсказатель вектора движения текущего блока был сформирован на основе блоков или пикселей, включенных в ранее закодированную область, смежную с текущим блоком. В случае множества неявных режимов устройство 900 кодирования вектора движения может дополнительно закодировать информацию, указывающую на один режим из множества неявных режимов.
На этапе 1440 устройство 900 кодирования вектора движения кодирует вектор разности, сформированный посредством вычитания предсказателя вектора движения, определенного на этапе 1420, из вектора движения текущего блока.
Фиг. 15 является блок-схемой последовательности операций способа декодирования вектора движения в соответствии с иллюстративным вариантом осуществления. Как показано на Фиг. 15, устройство 1300 декодирования вектора движения в соответствии с иллюстративным вариантом осуществления декодирует информацию о предсказателе вектора движения текущего блока, которая включена в битовый поток, на этапе 1510. Более подробно, устройство 1300 декодирования вектора движения декодирует информацию о режиме, использованную для кодирования предсказателя вектора движения текущего блока, из явного режима и неявного режима.
В случае явного режима устройство 1300 декодирования вектора движения декодирует информацию, указывающую, что предсказатель вектора движения текущего блока был закодирован в явном режиме, и информации о потенциальном предсказателе вектора движения, по меньшей мере, среди одного потенциального предсказателя вектора движения. В случае неявного режима устройство 1300 декодирования вектора движения декодирует информацию, указывающую, что предсказатель вектора движения текущего блока был сформирован на основе блоков или пикселей, включенных в ранее декодированную область, смежную с текущим блоком. В случае множества неявных режимов устройство 1300 декодирования вектора движения может дополнительно декодировать информацию, указывающую на один из множества неявных режимов.
На этапе 1520 устройство 1300 декодирования вектора движения декодирует информацию о векторе разности. Вектор разности представляет собой вектор разности между предсказателем вектора движения текущего блока и вектором движения текущего блока.
На этапе 1530 устройство 1300 декодирования вектора движения формирует предсказатель вектора движения текущего блока на основе информации о предсказателе вектора движения, которая декодирована на этапе 1510. Более подробно, устройство 1300 декодирования вектора движения формирует предсказатель вектора движения текущего блока в соответствии с явным режимом или неявным режимом. Более подробно, устройство 1300 декодирования вектора движения формирует предсказатель вектора движения текущего блока посредством выбора потенциального предсказателя вектора движения, по меньшей мере, среди одного потенциального предсказателя вектора движения или с использованием блоков или пикселей, включенных в ранее декодированную область, смежную с текущим блоком.
На этапе 1540 устройство 1300 декодирования вектора движения восстанавливает вектор движения текущего блока посредством суммирования вектора разности, декодированного на этапе 1520, и предсказателя вектора движения, сформированного на этапе 1530.
Хотя выше были подробно показаны и описаны иллюстративные варианты осуществления, специалисты в области техники поймут, что в них могут быть внесены различные изменения в форме и деталях без отступления от сущности и объема настоящей концепции изобретения, определенной в следующей формуле изобретения.
Кроме того, система в соответствии с иллюстративным вариантом осуществления может быть реализована с использованием машиночитаемого кода на машиночитаемом носителе. Например, по меньшей мере, одно устройство из устройства 100 для кодирования изображения, устройства 200 для декодирования изображения, кодера 400 изображения, декодер 500 изображения, устройства 900 кодирования вектора движения и устройства 1300 декодирования вектора движения в соответствии с иллюстративными вариантами осуществления может включать в себя шину, присоединенную к модулям каждого из устройств, показанных на Фиг. 1, 2, 4, 5, 9 и 13, и, по меньшей мере, один процессор, соединенный с шиной. Кроме того, память, присоединенная, по меньшей мере, к одному процессору для выполнения описанных выше команд, может быть включена в устройство и соединена с шиной для хранения команд и принятых сообщений или сформированных сообщений.
Машиночитаемый носитель представляет собой любое устройство хранения данных, которое может хранить данные, которые могут быть затем считаны компьютерной системой. Примеры машиночитаемого носителя записи включают в себя постоянное запоминающее устройство (ПЗУ; ROM), оперативное запоминающее устройство (ОЗУ; RAM), компакт-диски, предназначенный только для чтения (CD-ROM), магнитные ленты, гибкие диски и оптические устройства хранения данных. Машиночитаемый носитель также может быть распределен по компьютерным системам, соединенным посредством сети, таким образом, что машиночитаемый код хранится и исполняется распределенным образом.

Claims (1)

  1. Устройство для декодирования изображения, содержащее:
    предсказатель, который определяет, когда режим предсказания текущего блока является интер-предсказанием, кандидаты предсказателя вектора движения среди векторов движения смежных блоков и определяет предсказатель вектора движения текущего блока среди кандидатов предсказателя вектора движения; и
    блок восстановления вектора движения, который получает вектор движения текущего блока на основании предсказателя вектора движения и вектора разности,
    при этом смежные блоки содержат по меньшей мере один первый блок и второй блок,
    причем первый блок расположен на левой стороне самого левого блока среди нижних блоков, смежных с левой стороной текущего блока,
    первый блок расположен внизу самого нижнего блока среди левых блоков, смежных с левой стороной текущего блока, и
    второй блок расположен на верхней стороне первого блока.
RU2015120773/08A 2009-08-13 2015-06-01 Способ и устройство для кодирования/декодирования вектора движения RU2597521C1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0074896 2009-08-13
KR1020090074896A KR101452859B1 (ko) 2009-08-13 2009-08-13 움직임 벡터를 부호화 및 복호화하는 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2013112367/08A Division RU2559740C2 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения

Publications (1)

Publication Number Publication Date
RU2597521C1 true RU2597521C1 (ru) 2016-09-10

Family

ID=43586682

Family Applications (6)

Application Number Title Priority Date Filing Date
RU2013112367/08A RU2559740C2 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения
RU2013112365/08A RU2559738C2 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения
RU2013112250/08A RU2559737C2 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения
RU2012104831/08A RU2488972C1 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения
RU2015120764A RU2608264C2 (ru) 2009-08-13 2015-06-01 Способ и устройство для кодирования/декодирования вектора движения
RU2015120773/08A RU2597521C1 (ru) 2009-08-13 2015-06-01 Способ и устройство для кодирования/декодирования вектора движения

Family Applications Before (5)

Application Number Title Priority Date Filing Date
RU2013112367/08A RU2559740C2 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения
RU2013112365/08A RU2559738C2 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения
RU2013112250/08A RU2559737C2 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения
RU2012104831/08A RU2488972C1 (ru) 2009-08-13 2010-08-13 Способ и устройство для кодирования/декодирования вектора движения
RU2015120764A RU2608264C2 (ru) 2009-08-13 2015-06-01 Способ и устройство для кодирования/декодирования вектора движения

Country Status (22)

Country Link
US (10) US8537897B2 (ru)
EP (5) EP2452500A4 (ru)
JP (6) JP5756106B2 (ru)
KR (1) KR101452859B1 (ru)
CN (6) CN104506863B (ru)
AU (1) AU2010283121B2 (ru)
BR (5) BR122020006091B1 (ru)
CA (6) CA2820553C (ru)
CY (1) CY1123129T1 (ru)
DK (4) DK2677753T3 (ru)
ES (4) ES2751334T3 (ru)
HR (1) HRP20191791T1 (ru)
LT (1) LT2677749T (ru)
MX (1) MX2011013557A (ru)
MY (4) MY155891A (ru)
PL (4) PL2677749T3 (ru)
PT (1) PT2677749T (ru)
RU (6) RU2559740C2 (ru)
SI (1) SI2677749T1 (ru)
TW (7) TWI547150B (ru)
WO (1) WO2011019247A2 (ru)
ZA (2) ZA201201158B (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2768957C1 (ru) * 2018-09-10 2022-03-25 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство декодирования изображения на основе предсказания аффинного движения с использованием списка кандидатов аффинного MVP в системе кодирования изображения
RU2800679C2 (ru) * 2018-09-10 2023-07-26 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство декодирования изображения на основе предсказания аффинного движения с использованием списка кандидатов аффинного mvp в системе кодирования изображения

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101456498B1 (ko) 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20110017719A (ko) 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
AU2015201035B2 (en) * 2010-01-14 2016-04-28 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vector
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US9351017B2 (en) 2010-01-19 2016-05-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding images using a motion vector of a previous block as a motion vector for the current block
CN102823248B (zh) 2010-04-08 2015-06-24 株式会社东芝 图像编码方法以及图像编码装置
US9510009B2 (en) 2010-05-20 2016-11-29 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
CN103081470B (zh) * 2010-09-02 2016-08-03 Lg电子株式会社 编码和解码视频的方法和使用该方法的装置
KR101579392B1 (ko) 2010-09-27 2015-12-21 엘지전자 주식회사 블록 분할 방법 및 복호화 장치
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
CN106878742B (zh) 2011-01-12 2020-01-07 太阳专利托管公司 动态图像编解码装置
KR20120090740A (ko) * 2011-02-07 2012-08-17 (주)휴맥스 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법
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.
EP4254956A3 (en) 2011-03-09 2023-12-20 Kabushiki Kaisha Toshiba Video image encoding method and video image decoding method
EP3937497B1 (en) * 2011-03-21 2023-02-22 LG Electronics, Inc. Motion vector predictor selection
US9648334B2 (en) * 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
PL2698999T3 (pl) 2011-04-12 2017-10-31 Sun Patent Trust Sposób kodowania ruchomych obrazów, urządzenie do kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, urządzenie do dekodowania ruchomych obrazów, oraz urządzenie do kodowania/dekodowania ruchomych obrazów
KR20120118780A (ko) * 2011-04-19 2012-10-29 삼성전자주식회사 다시점 비디오의 움직임 벡터 부호화 방법 및 장치, 그 복호화 방법 및 장치
CA2833893C (en) 2011-05-24 2024-02-27 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
PL3614665T3 (pl) 2011-05-27 2022-07-04 Sun Patent Trust Sposób kodowania obrazów, urządzenie do kodowania obrazów, sposób dekodowania obrazów, urządzenie do dekodowania obrazów, i urządzenie do kodowania i dekodowania obrazów
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
CA2834191C (en) 2011-05-31 2019-04-09 Panasonic Corporation Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
WO2012171477A1 (en) * 2011-06-15 2012-12-20 Mediatek Inc. Method and apparatus of texture image compression in 3d video coding
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
JP6112418B2 (ja) * 2011-06-29 2017-04-12 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
KR101900986B1 (ko) 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
TW201306568A (zh) 2011-07-20 2013-02-01 Novatek Microelectronics Corp 移動估測方法
IN2014CN00729A (ru) 2011-08-03 2015-04-03 Panasonic Corp
ES2705251B1 (es) * 2011-09-23 2020-01-29 Kt Corp Método para inducir un bloque candidato de fusión y dispositivo que usa el mismo
KR101711355B1 (ko) * 2011-09-28 2017-02-28 가부시키가이샤 제이브이씨 켄우드 동영상 디코딩 장치, 동영상 디코딩 방법 및 동영상 디코딩 프로그램을 저장한 기록매체
KR101999869B1 (ko) 2011-10-19 2019-07-12 선 페이턴트 트러스트 화상 부호화 방법, 화상 부호화 장치, 화상 복호 방법, 및, 화상 복호 장치
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
US20140307783A1 (en) 2011-11-08 2014-10-16 Samsung Electronics Co., Ltd. Method and apparatus for motion vector determination in video encoding or decoding
KR20130058584A (ko) * 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
WO2013095322A1 (en) 2011-12-19 2013-06-27 Intel Corporation Exhaustive sub-macroblock shape candidate save and restore protocol for motion estimation
US9013549B2 (en) * 2012-05-24 2015-04-21 Silicon Integrated Systems Corp. Depth map generation for conversion of two-dimensional image data into three-dimensional image data
KR102088383B1 (ko) * 2013-03-15 2020-03-12 삼성전자주식회사 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
KR101712110B1 (ko) 2013-07-12 2017-03-13 삼성전자 주식회사 변이 벡터 유도를 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
TWI536811B (zh) * 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
KR102349788B1 (ko) * 2015-01-13 2022-01-11 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치
US10547847B2 (en) * 2015-09-24 2020-01-28 Lg Electronics Inc. AMVR-based image coding method and apparatus in image coding system
WO2017082443A1 (ko) * 2015-11-13 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
CN107046645B9 (zh) 2016-02-06 2020-08-14 华为技术有限公司 图像编解码方法及装置
JP2016106494A (ja) * 2016-02-12 2016-06-16 株式会社東芝 動画像符号化方法及び動画像復号化方法
US10575000B2 (en) * 2016-04-20 2020-02-25 Mediatek Inc. Method and apparatus for image compression using block prediction mode
KR102275420B1 (ko) * 2016-07-12 2021-07-09 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
US11240526B2 (en) 2017-01-02 2022-02-01 Industry-University Cooperation Foundation Hanyang University Method and apparatus for decoding image using interpicture prediction
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
JP6503014B2 (ja) * 2017-06-16 2019-04-17 株式会社東芝 動画像符号化方法及び動画像復号化方法
BR112020004381A2 (pt) * 2017-09-28 2020-09-08 Samsung Electronics Co., Ltd. método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
JP6510084B2 (ja) * 2018-01-05 2019-05-08 株式会社東芝 動画像復号化方法及び電子装置
US10904555B2 (en) * 2018-07-11 2021-01-26 Tencent America LLC Method and apparatus for video coding
EP3893509A4 (en) * 2018-12-07 2022-10-26 Samsung Electronics Co., Ltd. VIDEO DECODING METHOD AND DEVICE AND VIDEO ENCODING METHOD AND DEVICE
JP6871442B2 (ja) * 2020-01-21 2021-05-12 株式会社東芝 動画像符号化方法及び動画像復号化方法
JP6871447B2 (ja) * 2020-02-03 2021-05-12 株式会社東芝 動画像符号化方法及び動画像復号化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070058714A1 (en) * 2005-09-09 2007-03-15 Kabushiki Kaisha Toshiba Image encoding apparatus and image encoding method
US20080159401A1 (en) * 2007-01-03 2008-07-03 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
RU2360375C2 (ru) * 2002-07-18 2009-06-27 Эл Джи Электроникс Инк. Способ определения векторов движения для текущего блока в кадре, подлежащем декодированию
EP2088554A2 (en) * 2004-11-19 2009-08-12 NTT DoCoMo, Inc. Image decoding and encoding apparatus

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5400076A (en) * 1991-11-30 1995-03-21 Sony Corporation Compressed motion picture signal expander with error concealment
PT2375753E (pt) 1993-03-24 2013-10-21 Sony Corp Método para codificar e descodificar vetores de movimento e respetivo dispositivo e método para codificar e descodificar sinais de imagem e respetivo dispositivo
DE69719365T2 (de) 1996-12-18 2003-10-16 Thomson Consumer Electronics Effiziente kompression und dekompression von blocks fester länge
JPH10178639A (ja) 1996-12-19 1998-06-30 Matsushita Electric Ind Co Ltd 画像コーデック部および画像データ符号化方法
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
KR100249223B1 (ko) * 1997-09-12 2000-03-15 구자홍 엠팩(mpeg)-4의움직임벡터코딩방법
JPH11146367A (ja) * 1997-11-06 1999-05-28 Matsushita Electric Ind Co Ltd モバイルビデオフォン
US6609501B2 (en) 2001-04-12 2003-08-26 Walbro Corporation Fuel pressure regulation system
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
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
GB0203071D0 (en) 2002-02-09 2002-03-27 Lucas Industries Ltd Control system
EP1408696A4 (en) 2002-07-02 2008-04-09 Matsushita Electric Ind Co Ltd METHOD FOR EVALUATING MOTION VECTORS, METHOD FOR CYCLING A DYNAMIC IMAGE, METHOD FOR DECODING A DYNAMIC IMAGE
JP4724351B2 (ja) 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
TWI287927B (en) 2002-07-30 2007-10-01 Sony Corp Memory device, signal processing device, image signal processing device and methods used thereof
US7023921B2 (en) 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
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 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
HUP0301368A3 (en) 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8345754B2 (en) 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
KR100846780B1 (ko) 2003-11-10 2008-07-16 삼성전자주식회사 움직임 벡터 추정 방법 및 장치
US7535515B2 (en) * 2003-12-23 2009-05-19 Ravi Ananthapur Bacche Motion detection in video signals
US7469070B2 (en) 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
DE102004009792B3 (de) 2004-02-28 2005-09-22 Daimlerchrysler Ag Kraftstoffzuführeinrichtung zur Versorgung der Injektoren an Brennräumen einer Brennkraftmaschine mit Kraftstoff
DE102004013307B4 (de) 2004-03-17 2012-12-06 Robert Bosch Gmbh Kraftstoffhochdruckpumpe mit einem Druckbegrenzungsventil
CN100385957C (zh) * 2004-05-21 2008-04-30 中国科学院计算技术研究所 一种运动矢量预测的方法
WO2006012383A2 (en) * 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
US7970219B2 (en) * 2004-12-30 2011-06-28 Samsung Electronics Co., Ltd. Color image encoding and decoding method and apparatus using a correlation between chrominance components
EP1867171A1 (en) * 2005-04-06 2007-12-19 Thomson Licensing Method and apparatus for encoding enhancement layer video data
KR20080006609A (ko) * 2005-04-13 2008-01-16 노키아 코포레이션 스케일링가능성 정보의 코딩, 저장, 및 시그널링
JP4519723B2 (ja) * 2005-06-27 2010-08-04 富士通セミコンダクター株式会社 動きベクトルを利用する動画像データの符号化または復号化装置
US8279918B2 (en) 2005-07-15 2012-10-02 Utc Fire & Security Americas Corporation, Inc. Method and apparatus for motion compensated temporal filtering using residual signal clipping
US20070033385A1 (en) * 2005-08-02 2007-02-08 Advanced Micro Devices, Inc. Call return stack way prediction repair
KR101441269B1 (ko) 2005-09-26 2014-09-18 미쓰비시덴키 가부시키가이샤 동화상 복호 장치 및 동화상 복호 방법
US20070179854A1 (en) * 2006-01-30 2007-08-02 M-Systems Media predictive consignment
TW200743371A (en) * 2006-05-12 2007-11-16 Matsushita Electric Ind Co Ltd Image processing apparatus, method and integrated circuit
JP4760552B2 (ja) * 2006-06-06 2011-08-31 ソニー株式会社 動きベクトル復号化方法および復号化装置
JP2007329258A (ja) 2006-06-07 2007-12-20 Fujitsu Ltd 半導体装置の製造方法
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
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
US20080082058A1 (en) 2006-10-02 2008-04-03 Wallach Gary S Debriding Callus Foot Tissue
CN101601305B (zh) * 2006-10-20 2013-01-23 诺基亚公司 用于可伸缩多媒体的自适应路径的通用指示
KR101365567B1 (ko) 2007-01-04 2014-02-20 삼성전자주식회사 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
KR100846802B1 (ko) 2007-02-14 2008-07-16 삼성전자주식회사 동영상 프레임의 디코딩 방법 및 인코딩 방법
US20080240242A1 (en) * 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
MX2009009947A (es) * 2007-04-16 2009-09-24 Toshiba Kk Metodo y dispositivo de codificacion de imagenes y de descodificacion de imagenes.
JP2008283490A (ja) 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
JP2008311781A (ja) 2007-06-12 2008-12-25 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
KR101360279B1 (ko) 2007-06-28 2014-02-13 광주과학기술원 매크로블록 단위의 변이 예측을 이용한 움직임 정보 공유방법 및 장치 및 그리고 이를 이용한 다시점 비디오 영상부호화/복호화 방법 및 장치
JP2010287917A (ja) 2007-09-26 2010-12-24 Toshiba Corp 画像符号化/画像復号化装置及び方法
CN101415122B (zh) * 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
EP2061004A1 (en) 2007-11-14 2009-05-20 Sony Corporation Object boundary accurate motion detection using hierarchical block splitting and motion segmentation
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
JPWO2010007777A1 (ja) * 2008-07-16 2012-01-05 パナソニック株式会社 画像処理装置、画像処理方法、プログラム、記録媒体および集積回路
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
KR101772459B1 (ko) * 2010-05-17 2017-08-30 엘지전자 주식회사 신규한 인트라 예측 모드
JP5833429B2 (ja) * 2011-12-20 2015-12-16 スタンレー電気株式会社 半導体製造装置
JP5852187B2 (ja) * 2014-07-16 2016-02-03 興和株式会社 視野計
JP2014195741A (ja) * 2014-07-16 2014-10-16 パナソニック株式会社 ドラム式洗濯機

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2360375C2 (ru) * 2002-07-18 2009-06-27 Эл Джи Электроникс Инк. Способ определения векторов движения для текущего блока в кадре, подлежащем декодированию
EP2088554A2 (en) * 2004-11-19 2009-08-12 NTT DoCoMo, Inc. Image decoding and encoding apparatus
US20070058714A1 (en) * 2005-09-09 2007-03-15 Kabushiki Kaisha Toshiba Image encoding apparatus and image encoding method
US20080159401A1 (en) * 2007-01-03 2008-07-03 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2768957C1 (ru) * 2018-09-10 2022-03-25 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство декодирования изображения на основе предсказания аффинного движения с использованием списка кандидатов аффинного MVP в системе кодирования изображения
US11303887B2 (en) 2018-09-10 2022-04-12 Lg Electronics Inc. Affine motion prediction-based image decoding method and apparatus using affine MVP candidate list in image coding system
RU2800679C2 (ru) * 2018-09-10 2023-07-26 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство декодирования изображения на основе предсказания аффинного движения с использованием списка кандидатов аффинного mvp в системе кодирования изображения
US11722659B2 (en) 2018-09-10 2023-08-08 Lg Electronics Inc. Affine motion prediction-based image decoding method and apparatus using affine MVP candidate list in image coding system

Also Published As

Publication number Publication date
MY168324A (en) 2018-10-30
PL2677749T3 (pl) 2020-01-31
AU2010283121A1 (en) 2012-01-12
ZA201201158B (en) 2015-08-26
CA2820905A1 (en) 2011-02-17
RU2608264C2 (ru) 2017-01-17
CA2820901C (en) 2016-05-10
US20130279594A1 (en) 2013-10-24
US8792558B2 (en) 2014-07-29
RU2559738C2 (ru) 2015-08-10
CA2820901A1 (en) 2011-02-17
DK2677752T3 (da) 2019-10-21
US20170085882A1 (en) 2017-03-23
CN103260031A (zh) 2013-08-21
US8311118B2 (en) 2012-11-13
JP2013219825A (ja) 2013-10-24
TWI468019B (zh) 2015-01-01
JP5856267B2 (ja) 2016-02-09
CN103260029A (zh) 2013-08-21
TW201114264A (en) 2011-04-16
BR112012001514B1 (pt) 2022-02-01
CA2768182A1 (en) 2011-02-17
JP2013219824A (ja) 2013-10-24
US8811488B2 (en) 2014-08-19
ES2751334T3 (es) 2020-03-31
ZA201503389B (en) 2017-11-29
EP2677753A2 (en) 2013-12-25
EP2928186B1 (en) 2019-10-02
TW201334554A (zh) 2013-08-16
MY152395A (en) 2014-09-15
CA2877229C (en) 2016-05-10
EP2452500A4 (en) 2014-03-12
SI2677749T1 (sl) 2019-11-29
CA2877202A1 (en) 2011-02-17
EP2677752A3 (en) 2014-03-12
EP2677753B1 (en) 2019-10-02
CA2820553C (en) 2015-10-13
EP2677753A3 (en) 2014-03-12
TW201406165A (zh) 2014-02-01
RU2559740C2 (ru) 2015-08-10
US20130058415A1 (en) 2013-03-07
US8537897B2 (en) 2013-09-17
RU2015120764A (ru) 2016-12-20
US9883186B2 (en) 2018-01-30
CN103260029B (zh) 2017-04-12
LT2677749T (lt) 2019-10-25
ES2751523T3 (es) 2020-03-31
US20110038420A1 (en) 2011-02-17
RU2488972C1 (ru) 2013-07-27
PL2677753T3 (pl) 2020-01-31
RU2013112367A (ru) 2014-10-20
CN102474610A (zh) 2012-05-23
BR112012001514A2 (pt) 2016-03-15
TWI526048B (zh) 2016-03-11
BR122013019017A2 (pt) 2016-04-05
ES2751356T3 (es) 2020-03-31
CA2877229A1 (en) 2011-02-17
BR122013019018A2 (pt) 2016-04-05
CA2877202C (en) 2017-06-20
JP2015019420A (ja) 2015-01-29
TW201334556A (zh) 2013-08-16
MY154795A (en) 2015-07-31
US9544588B2 (en) 2017-01-10
RU2013112250A (ru) 2014-10-20
JP5756106B2 (ja) 2015-07-29
CN104506863B (zh) 2016-11-02
PT2677749T (pt) 2019-12-17
DK2677749T3 (da) 2019-10-14
PL2677752T3 (pl) 2020-01-31
CA2820553A1 (en) 2013-10-17
JP5856268B2 (ja) 2016-02-09
DK2928186T3 (da) 2019-10-14
TWI547150B (zh) 2016-08-21
JP5624179B2 (ja) 2014-11-12
TWI432033B (zh) 2014-03-21
JP2013502141A (ja) 2013-01-17
US8787463B2 (en) 2014-07-22
TWI462593B (zh) 2014-11-21
TW201334555A (zh) 2013-08-16
TW201349875A (zh) 2013-12-01
CN104539952B (zh) 2017-07-21
PL2928186T3 (pl) 2020-01-31
US20120281764A1 (en) 2012-11-08
BR122013019016A2 (pt) 2016-04-05
CN102474610B (zh) 2016-01-20
BR122013019017B1 (pt) 2021-06-01
BR122020006091B1 (pt) 2022-01-18
TWI413417B (zh) 2013-10-21
BR122013019018B1 (pt) 2022-01-18
TW201349876A (zh) 2013-12-01
JP5571827B2 (ja) 2014-08-13
MX2011013557A (es) 2012-02-21
MY155891A (en) 2015-12-15
CN104539952A (zh) 2015-04-22
US8472525B2 (en) 2013-06-25
HRP20191791T1 (hr) 2019-12-27
US20180139448A1 (en) 2018-05-17
KR101452859B1 (ko) 2014-10-23
CN103313052A (zh) 2013-09-18
AU2010283121B2 (en) 2013-10-17
US8369410B2 (en) 2013-02-05
EP2677752B1 (en) 2019-10-09
RU2559737C2 (ru) 2015-08-10
JP2013219826A (ja) 2013-10-24
CN103313052B (zh) 2017-05-10
RU2013112365A (ru) 2014-10-20
EP2452500A2 (en) 2012-05-16
JP2015029335A (ja) 2015-02-12
CA2820905C (en) 2018-09-25
CN103260031B (zh) 2017-03-01
JP5624178B2 (ja) 2014-11-12
US20140016705A1 (en) 2014-01-16
BR122013019016B1 (pt) 2022-01-18
EP2677749A3 (en) 2014-03-12
CY1123129T1 (el) 2021-10-29
CN104506863A (zh) 2015-04-08
EP2677752A2 (en) 2013-12-25
CA2768182C (en) 2016-12-13
US20120147966A1 (en) 2012-06-14
US20130279593A1 (en) 2013-10-24
EP2928186A2 (en) 2015-10-07
KR20110017301A (ko) 2011-02-21
TWI424749B (zh) 2014-01-21
US20140334550A1 (en) 2014-11-13
ES2751973T3 (es) 2020-04-02
WO2011019247A3 (en) 2011-04-21
EP2677749A2 (en) 2013-12-25
EP2677749B1 (en) 2019-10-02
DK2677753T3 (da) 2019-10-14
WO2011019247A2 (en) 2011-02-17
US10110902B2 (en) 2018-10-23
EP2928186A3 (en) 2016-01-13

Similar Documents

Publication Publication Date Title
RU2597521C1 (ru) Способ и устройство для кодирования/декодирования вектора движения
JP5937717B2 (ja) 映像復号化方法及び装置
KR102027474B1 (ko) 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치
JP2013517733A (ja) 以前ブロックの動きベクトルを現在ブロックの動きベクトルとして用いる映像符号化/復号化方法及び装置