RU2731026C1 - Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения - Google Patents
Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения Download PDFInfo
- Publication number
- RU2731026C1 RU2731026C1 RU2019124708A RU2019124708A RU2731026C1 RU 2731026 C1 RU2731026 C1 RU 2731026C1 RU 2019124708 A RU2019124708 A RU 2019124708A RU 2019124708 A RU2019124708 A RU 2019124708A RU 2731026 C1 RU2731026 C1 RU 2731026C1
- Authority
- RU
- Russia
- Prior art keywords
- motion vector
- vector predictor
- variant
- determining
- adjacent
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 1002
- 239000013598 vector Substances 0.000 title claims abstract description 945
- 238000000034 method Methods 0.000 title claims abstract description 113
- 239000012634 fragment Substances 0.000 claims abstract description 178
- 238000001514 detection method Methods 0.000 claims description 21
- 230000002123 temporal effect Effects 0.000 claims description 10
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 30
- 238000013139 quantization Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 12
- 238000011144 upstream manufacturing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Группа изобретений относится к вычислительной технике. Техническим результатом является уменьшение вычислительной сложности, необходимой для определения предикторов векторов движения. Способ прогнозирующего кодирования векторов движения содержит этапы: определения вектора движения целевого фрагмента в кадровом изображении цели кодирования; определения первого варианта предиктора вектора движения из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области для целевого фрагмента; определения второго варианта предиктора вектора движения из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области для целевого фрагмента; выбора оптимального предиктора вектора движения и вывода информации индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения, причем оптимальный предиктор вектора движения выбирается на основе сравнения между одним или более вариантов предикторов вектора движения, включающих в себя первый вариант предиктора вектора движения и второй вариант предиктора вектора движения, и вектором движения целевого фрагмента; и кодирования информации индикатора предиктора вектора движения. 6 н. и 12 з.п. ф-лы, 1 табл., 15 ил.
Description
Область техники, к которой относится изобретение
[0001] Варианты осуществления настоящего изобретения относятся к способу прогнозирующего кодирования, устройству прогнозирующего кодирования и программе прогнозирующего кодирования вектора движения, а также к способу прогнозирующего декодирования, устройству прогнозирующего декодирования и программе прогнозирующего декодирования вектора движения.
Уровень техники
[0002] Технология прогнозирования с компенсацией движения иногда используется в кодировании видео и декодировании видео. В технологии компенсации движения кадр цели обработки в видеопоследовательности разделяется на множество фрагментов. Эти фрагменты последовательно выбираются в качестве фрагмента цели обработки (целевого фрагмента). Вектор движения затем определяется для целевого фрагмента. В технологии прогнозирования с компенсацией движения предиктор вектора движения определяется с использованием векторов движения соседних фрагментов для целевого фрагмента, и вектор движения целевого фрагмента прогнозирующим образом кодируется или прогнозирующим образом декодируется в некоторых случаях.
[0003] Фиг. 1A и 1B иллюстрируют прямоугольные соседние фрагменты, используемые при прогнозировании с компенсацией движения. На фиг. 1A, форма целевого фрагмента BT является идентичной форме соседних фрагментов BL, BA и BRA. Соседний расположенный слева фрагмент BL включает в себя соседний пиксел, находящийся слева от верхнего левого пиксела в целевом фрагменте BT; соседний расположенный сверху фрагмент BA включает в себя соседний пиксел, находящийся выше относительно верхнего левого пиксела в целевом фрагменте BT; соседний расположенный сверху справа фрагмент BRA включает в себя соседний пиксел, находящийся выше и справа от верхнего правого пиксела в целевом фрагменте BT. Традиционная технология H.264/AVC использует предиктор вектора движения, имеющий медианные значения горизонтальных компонентов и вертикальных компонентов векторов движения соседнего расположенного слева фрагмента BL, соседнего расположенного сверху фрагмента BA и соседнего расположенного сверху справа фрагмента BRA.
[0004] С другой стороны, фиг. 1B иллюстрирует случай, в котором существует множество соседних фрагментов, имеющих соответствующие формы, отличающиеся от формы целевого фрагмента BT. Множество соседних фрагментов на фиг. 1B включают в себя соседние фрагменты BL1, BL2, BA1, BA2, BD и BE, в дополнение к соседнему расположенному слева фрагменту BL, соседнему расположенному сверху фрагменту BA и соседнему расположенному сверху справа фрагменту BRA. Согласно технологии, описанной в патентном документе 1, множество соседних фрагментов сканируется в предварительно определенном пространственном порядке, чтобы указывать соседний фрагмент с наилучшим пространственным подобием пиксельному сигналу целевого фрагмента, и вектор движения соседнего фрагмента, указываемый таким образом, используется в качестве предиктора вектора движения. В технологии патентного документа 1, пространственное подобие, которое должно быть использовано, представляет собой сумму абсолютных разностей (SAD) между пиксельным сигналом целевого фрагмента и пиксельным сигналом соседнего фрагмента.
Список библиографических ссылок
Патентные документы
[0005] Патентный документ 1. Перевод на японский язык выложенной PCT-заявки №2010-515399
Сущность изобретения
Техническая задача
[0006] Поскольку вышеприведенная технология патентного документа 1 заключает в себе вычисление пространственного подобия при сканировании множества соседних фрагментов в предварительно определенном порядке, она требует значительного числа вычислений для определения предиктора вектора движения.
[0007] Следовательно, существует потребность в отношении уменьшения вычислительной сложности, необходимой для определения предиктора вектора движения, в соответствующих областях техники.
Решение задачи
[0008] Один аспект настоящего изобретения относится к технологии прогнозирующего кодирования векторов движения.
[0009] Способ прогнозирующего кодирования векторов движения согласно одному аспекту настоящего изобретения является способом для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, содержащим: (a) этап определения вектора движения целевого фрагмента в кадровом изображении цели кодирования в видеопоследовательности; (b) этап определения первого варианта предиктора вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента; (c) этап определения второго варианта предиктора вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента; (d) этап выбора оптимального предиктора вектора движения и вывода информации индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения, причем оптимальный предиктор вектора движения выбирается на основе сравнения между одним или более вариантов предикторов вектора движения, включающих в себя первый вариант предиктора вектора движения и второй вариант предиктора вектора движения, и вектором движения целевого фрагмента; и (e) этап кодирования информации индикатора предиктора вектора движения.
[0010] Устройство прогнозирующего кодирования векторов движения согласно одному аспекту настоящего изобретения является устройством для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, содержащим: средство обнаружения движения, которое определяет вектор движения целевого фрагмента в кадровом изображении цели кодирования в видеопоследовательности; средство определения первых вариантов предикторов вектора движения, которое определяет первый вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента; средство определения вторых вариантов предикторов вектора движения, которое определяет второй вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента; средство определения предикторов вектора движения, которое выбирает оптимальный предиктор вектора движения на основе сравнения между вектором движения целевого фрагмента и одним или более вариантов предикторов вектора движения. Один или более вариантов предикторов вектора движения включают в себя, по меньшей мере, один из первого варианта предиктора вектора движения или второго варианта предиктора вектора движения. Средство определения предикторов вектора движения выводит информацию индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения; и средство кодирования, которое кодирует информацию индикатора предиктора вектора движения.
[0011] Программа прогнозирующего кодирования векторов движения согласно одному аспекту настоящего изобретения является программой для побуждения компьютера работать в качестве устройства для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, причем программа побуждает компьютер выступать в качестве: средства обнаружения движения, средства определения первых вариантов предикторов вектора движения, средства определения вторых вариантов предикторов вектора движения, средства определения предикторов вектора движения и средства кодирования, описанных выше.
[0012] В технологии прогнозирующего кодирования векторов движения согласно одному аспекту настоящего изобретения, описанному выше, сокращается число вариантов предикторов вектора движения, и после этого предиктор вектора движения определяется на основе сравнения между вектором движения целевого фрагмента и вариантами предикторов вектора движения. Следовательно, эта технология позволяет уменьшать вычислительную сложность, необходимую для определения предиктора вектора движения.
[0013] В варианте осуществления, технология прогнозирующего кодирования может иметь следующую конфигурацию: прогнозированный сигнал для пиксельного сигнала целевого фрагмента формируется посредством обращения к опорному кадру с номером кадра, указываемым посредством идентификационных данных списка опорных изображений и идентификационных данных опорного изображения; первый вариант предиктора вектора движения определяется из векторов движения фрагментов в соседней слева области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, совпадающие с идентификационными данными списка опорных изображений и/или идентификационными данными опорного изображения для целевого фрагмента; второй вариант предиктора вектора движения определяется из векторов движения фрагментов в соседней сверху области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, совпадающие с идентификационными данными списка опорных изображений и/или идентификационными данными опорного изображения для целевого фрагмента.
[0014] В варианте осуществления, информация индикатора предиктора вектора движения может быть кодирована в кодированные данные с числом битов согласно числу вариантов предикторов вектора движения. Например, информация индикатора предиктора вектора движения может быть кодирована в кодированные данные с минимальным числом битов согласно числу вариантов предикторов вектора движения. Этот вариант осуществления позволяет уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения.
[0015] В варианте осуществления, соседняя слева область может включать в себя соседний фрагмент, расположенный ниже и слева от целевого фрагмента. Соседний расположенный слева снизу фрагмент является фрагментом, включающим в себя соседние пикселы, находящиеся ниже и слева от нижнего левого пиксела в целевом фрагменте. В этом варианте осуществления, соседний расположенный слева снизу фрагмент включается в соседнюю слева область, и вектор движения соседнего расположенного слева снизу фрагмента не задается как независимый вариант предиктора вектора движения, когда первый вариант предиктора вектора движения определяется из соседней слева области. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, число битов кодированных данных в информации индикатора предиктора вектора движения может быть уменьшено.
[0016] В варианте осуществления, соседняя сверху область может включать в себя соседний фрагмент, расположенный выше и справа от целевого фрагмента. Соседний расположенный сверху справа фрагмент является фрагментом, который включает в себя соседние пикселы, находящиеся выше и справа от верхнего правого пиксела в целевом фрагменте. В этом варианте осуществления, соседний расположенный сверху справа фрагмент включается в соседнюю сверху область, и вектор движения соседнего расположенного сверху справа фрагмента не задается как независимый вариант предиктора вектора движения, когда второй вариант предиктора вектора движения определяется из соседней сверху области. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, число битов кодированных данных в информации индикатора предиктора вектора движения может быть уменьшено.
[0017] В варианте осуществления, соседняя слева область или соседняя сверху область могут включать в себя соседний фрагмент, расположенный выше и слева от целевого фрагмента. Соседний расположенный слева сверху фрагмент является фрагментом, который включает в себя соседние пикселы, находящиеся выше и слева от верхнего левого пиксела в целевом фрагменте. В этом варианте осуществления, вектор движения соседнего расположенного слева сверху фрагмента не задается как независимый вариант предиктора вектора движения, и вариант предиктора вектора движения определяется, в то время как соседний расположенный слева сверху фрагмент включается в соседнюю слева область или в соседнюю сверху область. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, число битов кодированных данных в информации индикатора предиктора вектора движения может быть уменьшено.
[0018] В варианте осуществления, технология прогнозирующего кодирования может иметь следующую конфигурацию: один или более фрагментов в соседней слева области сканируются в направлении вверх снизу соседней слева области, посредством чего вектор движения, удовлетворяющий предварительно определенному критерию, определяется в качестве первого варианта предиктора вектора движения из векторов движения одного или более фрагментов. Предварительно определенный критерий используется при определении вариантов предикторов вектора движения. Последующее сканирование в соседней слева области может завершаться при обнаружении вектора движения, удовлетворяющего предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Согласно знаниям, полученным авторами изобретения на основе исследования по большому числу видеопоследовательностей, фрагмент, из числа фрагментов в соседней слева области, с вектором движения, имеющим небольшую разность относительно вектора движения целевого фрагмента, чаще всего присутствует снизу в соседней слева области. Следовательно, первый вариант предиктора вектора движения с небольшой разностью относительно вектора движения целевого фрагмента может быть эффективно определен посредством сканирования соседней слева области в вышеприведенном порядке сканирования.
[0019] В варианте осуществления, технология прогнозирующего кодирования может иметь следующую конфигурацию: один или более фрагментов в соседней сверху области сканируются в направлении влево справа налево, посредством чего вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, определяется в качестве второго варианта предиктора вектора движения из векторов движения одного или более фрагментов. Последующее сканирование в соседней сверху области может завершаться при обнаружении вектора движения, удовлетворяющего предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Согласно знаниям, полученным авторами изобретения на основе исследования по большому числу видеопоследовательностей, фрагмент с вектором движения, имеющим небольшую разность относительно вектора движения целевого фрагмента, из фрагментов в соседней сверху области, чаще всего существует справа в соседней сверху области. Следовательно, второй вариант предиктора вектора движения с небольшой разностью относительно вектора движения целевого фрагмента может быть эффективно определен посредством сканирования соседней сверху области в вышеприведенном порядке сканирования.
[0020] В варианте осуществления, технология прогнозирующего кодирования может иметь следующую конфигурацию: она содержит определение информации индикатора первого направления сканирования, указывающей направление сканирования одного или более фрагментов, включенных в соседнюю слева область, чтобы определять первый вариант предиктора вектора движения; определение информации индикатора второго направления сканирования, указывающей направление сканирования одного или более фрагментов, включенных в соседнюю сверху область, чтобы определять второй вариант предиктора вектора движения; и дополнительное кодирование информации индикатора первого направления сканирования и информации индикатора второго направления сканирования. В этом варианте осуществления, сканирования выполняются в направлениях как вверх, так и вниз в соседней слева области, чтобы выбирать вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Оптимальный вектор движения из числа векторов движения, выбранных в направлениях вверх и вниз, задается как первый вариант предиктора вектора движения, и информация, указывающая направление сканирования, в котором получается первый вариант предиктора вектора движения, задается как информация индикатора первого направления сканирования. Кроме того, сканирования выполняются в направлениях как влево, так и вправо в соседней сверху области, чтобы выбирать вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Оптимальный вектор движения, из числа векторов движения, выбранных в направлениях влево и вправо, задается как второй вариант предиктора вектора движения, и информация, указывающая направление сканирования, в котором получается второй вариант предиктора вектора движения, задается как информация индикатора второго направления сканирования. Этот вариант осуществления обеспечивает достижение дополнительного повышения эффективности кодирования посредством определения первого варианта предиктора вектора движения и второго варианта предиктора вектора движения.
[0021] В варианте осуществления, число одного или более вариантов предикторов вектора движения может не превышать 3. Этот вариант осуществления позволяет дополнительно уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения.
[0022] В варианте осуществления, оптимальный предиктор вектора движения может быть использован в качестве вектора движения целевого фрагмента, без кодирования остаточного сигнала между вектором движения целевого фрагмента и оптимальным предиктором вектора движения. Этот вариант осуществления позволяет дополнительно повышать эффективность кодирования, поскольку остаточный сигнал вектора движения не кодируется.
[0023] Другой аспект настоящего изобретения относится к технологии прогнозирующего декодирования векторов движения.
[0024] Способ для прогнозирующего декодирования вектора движения согласно одному аспекту настоящего изобретения является способом для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений. Способ содержит: (a) этап определения первого варианта предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, причем первый вариант предиктора вектора движения определяется из вектора движения или векторов движения одного или более фрагментов, включенных в соседнюю слева область, расположенную слева от целевого фрагмента в кадровом изображении цели декодирования; (b) этап определения второго варианта предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении варианта предиктора вектора движения, причем второй вариант предиктора вектора движения определяется из вектора движения или векторов движения одного или более фрагментов, включенных в соседнюю сверху область, расположенную выше целевого фрагмента; (c) этап декодирования кодированных данных, чтобы восстанавливать информацию индикатора предиктора вектора движения, указывающую оптимальный предиктор вектора движения для целевого фрагмента; и (d) этап выбора оптимального предиктора вектора движения, указываемой посредством информации индикатора предиктора вектора движения, из одного или более вариантов предикторов вектора движения, причем один или более вариантов предикторов вектора движения включают в себя, по меньшей мере, первый вариант предиктора вектора движения и второй вариант предиктора вектора движения.
[0025] Устройство для прогнозирующего декодирования вектора движения согласно одному аспекту настоящего изобретения является устройством для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений. Устройство содержит: средство определения первых вариантов предикторов вектора движения, которое определяет первый вариант предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента в кадровом изображении цели декодирования; средство определения вторых вариантов предикторов вектора движения, которое определяет второй вариант предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента; средство декодирования, которое декодирует кодированные данные, чтобы восстанавливать информацию индикатора предиктора вектора движения, чтобы указывать оптимальный предиктор вектора движения для целевого фрагмента; и средство определения оптимального предиктора вектора движения, которое выбирает оптимальный предиктор вектора движения, указываемую посредством информации индикатора предиктора вектора движения. Оптимальный предиктор вектора движения выбирается из одного или более вариантов предикторов вектора движения, включающих в себя, по меньшей мере, первый вариант предиктора вектора движения и второй вариант предиктора вектора движения.
[0026] Программа для прогнозирующего декодирования вектора движения согласно одному аспекту настоящего изобретения является программой для побуждения компьютера работать в качестве устройства для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений. Программа побуждает компьютер выступать в качестве: средства определения первых вариантов предикторов вектора движения, средства определения вторых вариантов предикторов вектора движения, средства декодирования и средства определения оптимального предиктора вектора движения, описанных выше.
[0027] В технологии прогнозирующего декодирования векторов движения согласно одному аспекту настоящего изобретения, описанному выше, сокращается число вариантов предикторов вектора движения, и после этого предиктор вектора движения определяется на основе сравнения между вектором движения целевого фрагмента и вариантами предикторов вектора движения. Следовательно, это позволяет уменьшать вычислительную сложность, необходимую для определения предиктора вектора движения.
[0028] В варианте осуществления, технология прогнозирующего декодирования может иметь следующую конфигурацию: прогнозированный сигнал для сигнала изображений целевого фрагмента формируется посредством обращения к опорному кадру с номером кадра, указываемым посредством идентификационных данных списка опорных изображений и идентификационных данных опорного изображения; первый вариант предиктора вектора движения определяется из векторов движения фрагментов в соседней слева области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, идентичные идентификационным данным списка опорных изображений и/или идентификационным данным опорного изображения для целевого фрагмента; второй вариант предиктора вектора движения определяется из векторов движения фрагментов в соседней сверху области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, идентичные идентификационным данным списка опорных изображений и/или идентификационным данным опорного изображения для целевого фрагмента.
[0029] В варианте осуществления, число битов кодированных данных в информации индикатора предиктора вектора движения может быть числом битов согласно числу вариантов предикторов вектора движения. Например, число битов кодированных данных в информации индикатора предиктора вектора движения может быть минимальным числом битов согласно числу вариантов предикторов вектора движения. Этот вариант осуществления позволяет уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения.
[0030] В варианте осуществления, соседняя слева область может включать в себя соседний фрагмент, расположенный ниже и слева от целевого фрагмента. В этом варианте осуществления, вектор движения соседнего расположенного слева снизу фрагмента не задается как независимый вариант предиктора вектора движения, и соседний расположенный слева снизу фрагмент включается в соседнюю слева область; затем первый вариант предиктора вектора движения определяется из соседней слева области. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, это позволяет уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения и уменьшать вычислительную сложность процесса декодирования, чтобы восстанавливать информацию индикатора предиктора вектора движения из кодированных данных.
[0031] В варианте осуществления, соседняя сверху область может включать в себя соседний фрагмент, расположенный выше и справа от целевого фрагмента. В этом варианте осуществления, вектор движения соседнего расположенного сверху справа фрагмента не задается как независимый вариант предиктора вектора движения, и соседний расположенный сверху справа фрагмент включается в соседнюю сверху область; затем второй вариант предиктора вектора движения определяется из соседней сверху области. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, это позволяет уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения и уменьшать вычислительную сложность процесса декодирования, чтобы восстанавливать информацию индикатора предиктора вектора движения из кодированных данных.
[0032] В варианте осуществления, соседняя слева область или соседняя сверху область могут включать в себя соседний фрагмент, расположенный выше и слева от целевого фрагмента. В этом варианте осуществления, вектор движения соседнего расположенного слева сверху фрагмента не задается как независимый вариант предиктора вектора движения, и соседний расположенный слева сверху фрагмент включается в соседнюю слева область или в соседнюю сверху область; затем вариант предиктора вектора движения определяется оттуда. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, число битов кодированных данных в информации индикатора предиктора вектора движения может быть уменьшено, и вычислительная сложность процесса декодирования, чтобы восстанавливать информацию индикатора предиктора вектора движения из кодированных данных, также может быть уменьшена.
[0033] В варианте осуществления, технология прогнозирующего декодирования может иметь следующую конфигурацию: один или более фрагментов в соседней слева области сканируются в направлении вверх снизу соседней слева области, посредством чего вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, определяется в качестве первого варианта предиктора вектора движения из векторов движения одного или более фрагментов. Последующее сканирование в соседней слева области может завершаться при обнаружении вектора движения, удовлетворяющего предварительно определенному критерию определения вариантов предикторов вектора движения. Первый вариант предиктора вектора движения с небольшой ошибкой относительно вектора движения целевого фрагмента может быть эффективно определен посредством сканирования соседней слева области в вышеприведенном порядке сканирования.
[0034] В варианте осуществления, технология прогнозирующего декодирования может иметь следующую конфигурацию: один или более фрагментов в соседней сверху области сканируются в направлении справа налево, посредством чего вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, определяется в качестве второго варианта предиктора вектора движения из векторов движения одного или более фрагментов. Последующее сканирование в соседней сверху области может завершаться при обнаружении вектора движения, удовлетворяющего предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Второй вариант предиктора вектора движения с небольшой ошибкой относительно вектора движения целевого фрагмента может быть эффективно определен посредством сканирования соседней сверху области в вышеприведенном порядке сканирования.
[0035] В варианте осуществления, технология прогнозирующего декодирования может быть сконфигурирована с возможностью включать в себя: декодирование кодированных данных, чтобы восстанавливать информацию индикатора первого направления сканирования, чтобы указывать направление сканирования одного или более фрагментов в соседней слева области, и информацию индикатора второго направления сканирования, чтобы указывать направление сканирования одного или более фрагментов в соседней сверху области; сканирование одного или более фрагментов в соседней слева области в направлении, указываемом посредством информации индикатора первого направления сканирования, чтобы определять первый вариант предиктора вектора движения; и сканирование одного или более фрагментов в соседней сверху области в направлении, указываемом посредством информации индикатора второго направления сканирования, чтобы определять второй вариант предиктора вектора движения. Этот вариант осуществления позволяет определять первый вариант предиктора вектора движения и второй вариант предиктора вектора движения с меньшими ошибками относительно вектора движения целевого фрагмента.
[0036] В варианте осуществления, число одного или более вариантов предикторов вектора движения может не превышать 3. Этот вариант осуществления позволяет дополнительно уменьшать число битов в информации индикатора предиктора вектора движения.
[0037] В варианте осуществления, оптимальный предиктор вектора движения может быть использован в качестве вектора движения целевого фрагмента. Этот вариант осуществления позволяет уменьшать объем данных для кодированных данных, поскольку остаточный сигнал вектора движения не кодируется.
Преимущества изобретения
[0038] Как описано выше, аспекты и варианты осуществления настоящего изобретения предоставляют способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программу прогнозирующего кодирования векторов движения, а также способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программу прогнозирующего декодирования векторов движения, допускающие уменьшение вычислительной сложности, необходимой для определения предикторов вектора движения.
Краткое описание чертежей
[0039] Фиг. 1A иллюстрирует прямоугольные соседние фрагменты, используемые при прогнозировании с компенсацией движения.
Фиг. 1B иллюстрирует прямоугольные соседние фрагменты, используемые при прогнозировании с компенсацией движения.
Фиг. 2 показывает конфигурацию устройства кодирования видео согласно варианту осуществления.
Фиг. 3 - блок-схема последовательности операций способа, показывающая вариант осуществления способа прогнозирующего кодирования векторов движения.
Фиг. 4 иллюстрирует прямоугольные соседние фрагменты, используемые при прогнозировании с компенсацией движения.
Фиг. 5 - блок-схема последовательности операций способа, подробно показывающая первый вариант осуществления процесса для этапа S302 на фиг. 3.
Фиг. 6 - блок-схема последовательности операций способа, подробно показывающая первый вариант осуществления процесса для этапа S303 на фиг. 3.
Фиг. 7 показывает конфигурацию устройства декодирования видео согласно одному варианту осуществления.
Фиг. 8 - блок-схема последовательности операций способа, показывающая вариант осуществления способа прогнозирующего декодирования вектора движения.
Фиг. 9 - блок-схема последовательности операций способа, показывающая процесс определения вариантов предикторов вектора движения в способе прогнозирующего кодирования вектора движения во втором варианте осуществления.
Фиг. 10 - блок-схема последовательности операций способа, показывающая способ прогнозирующего декодирования вектора движения во втором варианте осуществления.
Фиг. 11 показывает конфигурацию программы кодирования видео согласно одному варианту осуществления.
Фиг. 12 показывает конфигурацию программы декодирования видео согласно одному варианту осуществления.
Фиг. 13 показывает аппаратную конфигурацию компьютера согласно одному варианту осуществления.
Фиг. 14 - вид в перспективе показывающий компьютер согласно одному варианту осуществления.
Подробное описание вариантов осуществления
[0040] Различные варианты осуществления подробно описываются ниже со ссылкой на чертежи. На чертежах идентичные или эквивалентные части обозначаются посредством идентичных ссылочных позиций.
[0041] Фиг. 2 показывает конфигурацию устройства кодирования видео согласно одному варианту осуществления. Устройство 20 кодирования видео, показанное на фиг. 2, является примером устройства, которое прогнозирующим образом кодирует вектор движения согласно одному аспекту настоящего изобретения.
[0042] Видеопоследовательность, вводимая в устройство 20 кодирования видео, состоит из временной последовательности кадровых изображений. Сигнал кадровых изображений, предназначенный для кодирования, упоминается далее как ʺтекущий кадрʺ. В устройстве 20 кодирования видео текущий кадр разделяется на прямоугольные фрагменты переменного размера, и обработка, описанная ниже, выполняется в каждой из единиц фрагментов.
[0043] Устройство 20 кодирования видео может использовать любой из режима межкадрового прогнозирования и множества режимов внутрикадрового прогнозирования, переключая режим прогнозирования для каждого фрагмента между ними. Например, устройство 20 кодирования видео выбирает режим прогнозирования с высокой эффективностью кодирования из режима межкадрового прогнозирования и режимов внутрикадрового прогнозирования для каждого фрагмента. ʺРежим межкадрового прогнозированияʺ в данном документе является режимом, в котором вектор движения обнаруживается в отношении множества ранее кодированных сигналов кадровых изображений (сигналов опорных кадровых изображений), отличающихся во времени от сигнала кадровых изображений, чтобы за счет этого выполнять межкадровое прогнозирование с компенсацией движения. ʺРежим внутрикадрового прогнозированияʺ является режимом, в котором пространственное прогнозирование выполняется с использованием пиксельных значений соседних областей, ранее кодированных в идентичном кадре. В ʺрежиме межкадрового прогнозированияʺ соответствующие процессы обнаружения движения, прогнозирования движения и компенсации движения выполняются для каждого из подфрагментов, например, получаемых посредством дополнительного разделения фрагмента в N×N пикселов на необязательный размер (например, (N/2) пикселов×N строк или (N/4) пикселов×(N/4) строк).
[0044] Как показано на фиг. 2, устройство 20 кодирования видео может содержать узел 201 ввода, узел 202 обнаружения движения, узел 203 определения вариантов предикторов вектора движения, узел 204 определения предикторов вектора движения, узел 205 вычисления разности векторов движения, узел 206 компенсации движения, запоминающее устройство 207, узел 208 пространственного прогнозирования, узел 209 определения способа прогнозирования, узел 210 вычитания, узел 211 преобразования, узел 212 квантования, узел 213 энтропийного кодирования, узел 214 обратного квантования, узел 215 обратного преобразования и узел 216 суммирования.
[0045] Узел 201 ввода принимает входной видеосигнал в качестве видеосигнала, вводимого извне, и разлагает видеосигнал на сигналы кадровых изображений. Узел 201 ввода выводит каждый сигнал кадровых изображений через линию L201a и через линию L201b в узел 210 вычитания и в узел 202 обнаружения движения.
[0046] Запоминающее устройство 207 является секцией, которая сохраняет сигналы кадровых изображений, кодированные ранее, информацию (векторы движения, идентификационные данные списка опорных изображений, идентификационные данные опорного изображения) и другие данные, используемые при ее прогнозировании.
[0047] Узел 202 обнаружения движения выполняет обнаружение вектора движения. Более конкретно, узел 202 обнаружения движения выполняет поиск в сигнале опорных кадровых изображений, вводимом через линию L207a из запоминающего устройства 207, на предмет шаблона сигнала изображений, аналогичного шаблону сигнала изображений целевого фрагмента в текущем кадре, вводимого через линию L201a. Узел 202 обнаружения движения выполняет поиск в предварительно определенном диапазоне поиска в опорном кадре. Узел 202 обнаружения движения обнаруживает вектор движения, представляющий величину пространственного смещения между целевым фрагментом и шаблоном сигнала изображений, полученным посредством поиска, и идентификационные данные списка опорных изображений и идентификационные данные опорного изображения для указания номера кадра для используемого опорного кадра. Обнаруженный вектор движения, идентификационные данные списка опорных изображений и идентификационные данные опорного изображения выводятся через линию L202a в узел 206 компенсации движения и через линию L202c в узел 205 вычисления разности векторов движения. Кроме того, узел 202 обнаружения движения выводит обнаруженные идентификационные данные списка опорных изображений и идентификационные данные опорного изображения через линию L202b в узел 203 определения вариантов предикторов вектора движения. В устройстве 20 кодирования видео номера кадров для указания соответствующих сигналов опорных кадровых изображений, могут управляться в форме списков. Номер кадра указывается с использованием идентификационных данных списка опорных изображений (списка опорных изображений), чтобы указывать список, и идентификационных данных опорного изображения (опорного индекса) в качестве индекса номера кадра в списке. Эта технология является известной технологией в H.264/AVC и т.п.
[0048] Узел 203 определения вариантов предикторов вектора движения определяет варианты предикторов вектора движения с использованием векторов движения ранее кодированных соседних фрагментов, вводимых через линию L207b. Подробности касательно определения вариантов предикторов вектора движения описываются ниже. Узел 203 определения вариантов предикторов вектора движения выводит определенные варианты предикторов вектора движения через линию L203 в узел 204 определения предикторов вектора движения.
[0049] Узел 204 определения предикторов вектора движения определяет оптимальный предиктор вектора движения (значения предиктора вектора движения) из вариантов предикторов вектора движения, вводимых через линию L203. Более конкретно, узел 204 определения предикторов вектора движения определяет вариант предиктора вектора движения с наименьшей разностью относительно вектора движения целевого фрагмента, вводимого через линию L202c, в качестве оптимального предиктора PMVopt вектора движения, из вариантов предикторов вектора движения. Определенный оптимальный предиктор PMVopt вектора движения подается через линию L204a в узел 205 вычисления разности векторов движения. Кроме того, число вариантов предикторов вектора движения и информация индикатора предиктора вектора движения, чтобы указывать оптимальный предиктор PMVopt вектора движения из вариантов предикторов вектора движения, подаются через линию L204b в узел 213 энтропийного кодирования.
[0050] В настоящем варианте осуществления, вариант предиктора вектора движения с наименьшей разностью относительно вектора движения целевого фрагмента выбирается в качестве оптимального предиктора PMVopt вектора движения. Альтернативно, узел 204 определения предикторов вектора движения может выбирать в качестве оптимального предиктора PMVopt вектора движения вариант предиктора вектора движения с наименьшим числом битов, назначаемым вычисленной разности векторов движения.
[0051] В настоящем варианте осуществления, оптимальный предиктор вектора движения определяется после обнаружения движения целевого фрагмента. Альтернативно, оптимальный предиктор вектора движения может быть обнаружен перед обнаружением движения. В частности, как указано посредством формулы (1) ниже, оптимальный предиктор вектора движения может быть вычислен на основе суммы абсолютных разностей (SADpmv) между прогнозированным сигналом изображений при выполнении компенсации движения с использованием каждого из фактически вычисленных вариантов предикторов вектора движения и целевым сигналом изображений и функции затрат с использованием числа Rpmv битов при кодировании варианта предиктора вектора движения и λ в качестве весового коэффициента для числа битов. В этом случае, сигнал изображений целевого фрагмента вводится через линию L201a, и каждый сигнал опорных кадровых изображений вводится через линию L207a в узел 204 определения предикторов вектора движения на фиг. 2.
[0052] Узел 205 вычисления разности векторов движения вычисляет значения разности векторов движения, которые являются информацией разности между вектором движения, вводимым через линию L202c, и оптимальным предиктором вектора движения, вводимой через линию L204a. Узел 205 вычисления разности векторов движения передает сигнал, включающий в себя вычисленные значения разности векторов движения и идентификационные данные списка опорных изображений и идентификационные данные опорного изображения в качестве информации прогнозирования, через линию L205a в узел 213 энтропийного кодирования. Кроме того, узел 205 вычисления разности векторов движения передает сигнал, включающий в себя вектор движения и идентификационные данные списка опорных изображений и идентификационные данные опорного изображения, через линию L205b в запоминающее устройство 207.
[0053] Узел 206 компенсации движения формирует прогнозированный сигнал изображений целевого фрагмента за счет обращения к сигналу опорных кадровых изображений с номером кадра, указываемым посредством идентификационных данных списка опорных изображений и идентификационных данных опорного изображения, принимаемых из узла 202 обнаружения движения, и использования вектора движения, принимаемого из узла 202 обнаружения движения. Этот прогнозированный сигнал изображений выводится в узел 209 определения способа прогнозирования.
[0054] Узел 208 пространственного прогнозирования формирует прогнозированный сигнал изображений за счет обращения к сигналам изображений (сигналам опорных кадровых изображений) ранее кодированных соседних областей, вводимым через линию L207a. Узел 208 пространственного прогнозирования выводит сформированный прогнозированный сигнал изображений в узел 209 определения способа прогнозирования.
[0055] Узел 209 определения способа прогнозирования сравнивает прогнозированные сигналы изображений, принятые из узла 206 компенсации движения и узла 208 пространственного прогнозирования, чтобы выбирать любой из прогнозированных сигналов изображений, и выводит выбранный прогнозированный сигнал изображений в узел 210 вычитания. Узел 209 определения способа прогнозирования выводит информацию режима прогнозирования, указывающую способ прогнозирования, используемый для формирования выбранного прогнозированного сигнала изображений, через линию L209b в узел 213 энтропийного кодирования.
[0056] Узел 210 вычитания формирует значение разности (остаточный сигнал прогнозирования) между сигналом кадровых изображений, вводимым через линию L201b, и прогнозированным сигналом изображений, вводимым через линию L209a, и выводит остаточный сигнал прогнозирования в узел 211 преобразования.
[0057] Узел 211 преобразования выполняет ортогональное преобразование остаточного сигнала прогнозирования, вводимого через линию L210, чтобы формировать коэффициенты ортогонального преобразования, и выводит коэффициенты ортогонального преобразования в узел 212 квантования. Узел 212 квантования квантует коэффициенты ортогонального преобразования, вводимые через линию L211, чтобы формировать квантованные коэффициенты ортогонального преобразования, и передает квантованные коэффициенты ортогонального преобразования в узел 213 энтропийного кодирования и узел 212 обратного квантования.
[0058] Узел 213 энтропийного кодирования выполняет энтропийное кодирование квантованных коэффициентов ортогонального преобразования, вводимых через линию L212, информации режима прогнозирования, принимаемой из узла 209 определения способа прогнозирования, информации прогнозирования, передаваемой из узла 205 вычисления разности векторов движения, и информации индикатора предиктора вектора движения, выводимой из узла 204 определения предикторов вектора движения, мультиплексирует сформированные кодированные данные в сжатый поток и передает сжатый поток наружу.
[0059] Узел 214 обратного квантования выполняет обратное квантование квантованных коэффициентов ортогонального преобразования, вводимых через линию L212, чтобы формировать коэффициенты ортогонального преобразования, и передает коэффициенты ортогонального преобразования в узел 215 обратного ортогонального преобразования. Затем узел 215 обратного ортогонального преобразования применяет обратное ортогональное преобразование к коэффициентам ортогонального преобразования, вводимым через линию L214, чтобы формировать остаточный сигнал прогнозирования, и передает остаточный сигнал прогнозирования в узел 216 суммирования.
[0060] Узел 216 суммирования выполняет суммирование остаточного сигнала прогнозирования, вводимого через линию L215, и прогнозированного сигнала изображений, вводимого через линию L209a, чтобы формировать сигнал кадровых изображений, и передает сигнал кадровых изображений в запоминающее устройство 207. Этот сигнал кадровых изображений сохраняется в запоминающем устройстве 207 и используется в качестве сигнала опорных кадровых изображений в последующем процессе кодирования. В запоминающем устройстве 207, вектор движения, идентификационные данные списка опорных изображений, идентификационные данные опорного изображения и т.д., вводимые через линию L205b, также сохраняются в ассоциации с сигналом опорных кадровых изображений.
[0061] Далее описывается один вариант осуществления способа прогнозирующего кодирования вектора движения, применимого в устройстве 20 кодирования видео.
[0062] Во-первых, фрагменты, смежные с целевым фрагментом, описываются со ссылкой на фиг. 1B. Фрагменты BL, BL1 и BL2 являются фрагментами, контактирующими с левой границей целевого фрагмента BT. Фрагмент BD является фрагментом, включающим в себя соседние пикселы, находящиеся ниже и слева от нижнего левого пиксела в целевой области BT. Фрагмент BE является фрагментом, включающим в себя соседние пикселы, находящиеся выше и слева от верхнего левого пиксела в целевом фрагменте BT. Фрагменты BA, BA1 и BA2 являются фрагментами, контактирующими с верхней границей целевого фрагмента BT. Фрагмент BRA является фрагментом, включающим в себя соседние пикселы, находящиеся выше и справа от верхнего правого пиксела в целевом фрагменте BT. Фрагменты, соседние с целевым фрагментом, могут быть фрагментами с размером, идентичным размеру целевого фрагмента BT, как показано на фиг. 1A.
[0063] Фиг. 3 является блок-схемой последовательности операций способа, показывающей один вариант осуществления способа прогнозирующего кодирования вектора движения. Как показано на фиг. 3, в способе прогнозирующего кодирования вектора движения согласно варианту осуществления, сначала идентификационные данные списка опорных изображений и идентификационные данные опорного изображения вводятся в узел 203 определения вариантов предикторов вектора движения (этап S301).
[0064] Затем узел 203 определения вариантов предикторов вектора движения определяет вариант PMV1 предиктора вектора движения из вектора движения или векторов движения одного или более фрагментов, включенных в соседнюю слева область, расположенную слева от целевого фрагмента BT (этап S302). Подробности касательно способа определения варианта PMV1 предиктора вектора движения описываются ниже.
[0065] Затем узел 203 определения вариантов предикторов вектора движения определяет вариант PMV2 предиктора вектора движения из вектора движения или векторов движения одного или более фрагментов, включенных в соседнюю сверху область, расположенную выше целевого фрагмента BT (этап S303). Подробности касательно способа определения варианта PMV2 предиктора вектора движения описываются ниже.
[0066] Затем узел 203 определения вариантов предикторов вектора движения определяет вариант PMV3 предиктора вектора движения (этап S304). В настоящем варианте осуществления, вектор движения фрагмента, существующего в опорном кадре и в позиции, пространственно идентичной целевому фрагменту, определяется в качестве варианта PMV3 предиктора вектора движения.
[0067] Вариант PMV3 предиктора вектора движения может быть вектором движения другого фрагмента, пространственно смежного с целевым фрагментом, вместо вектора движения фрагмента в позиции, идентичной позиции целевого фрагмента в опорном кадре. Также можно использовать средние значения и т.п., вычисленные на основе варианта PMV1 предиктора вектора движения и варианта PMV2 предиктора вектора движения, в качестве варианта PMV3 предиктора вектора движения.
[0068] Число вариантов предикторов вектора движения может составлять три или более. В этом случае, множество вариантов предикторов вектора движения может быть определено посредством различных способов из каждой из соседней слева области и соседней сверху области. Более конкретно, множество вариантов предикторов вектора движения может быть определено посредством поиска в фрагментах каждой из областей во множестве различных направлений сканирования, в каждой из соседней слева области и соседней сверху области. Также можно использовать вектор движения другой соседней области в качестве варианта предиктора вектора движения.
[0069] Снова ссылаясь на фиг. 3, узел 203 определения вариантов предикторов вектора движения затем определяет только неидентичные варианты предикторов вектора движения из варианта PMV1 предиктора вектора движения, варианта PMV2 предиктора вектора движения и варианта PMV3 предиктора вектора движения, в качестве конечных вариантов предикторов вектора движения (этап S305). В качестве конкретного примера, если вариант PMV1 предиктора вектора движения является идентичным варианту PMV3 предиктора вектора движения, только PMV1 и PMV2 выбираются в качестве вариантов предикторов вектора движения. Если отсутствуют варианты предикторов вектора движения, определенные как удовлетворяющие условиям на этапах S302-S304, нулевой вектор движения задается как вариант предиктора вектора движения.
[0070] Затем узел 204 определения предикторов вектора движения определяет оптимальный предиктор вектора движения, как описано выше, из вариантов предикторов вектора движения, определенных посредством узла 203 определения вариантов предикторов вектора движения (этап S306).
[0071] Затем узел 213 кодирования кодирует информацию индикатора предиктора вектора движения, чтобы указывать, какой вариант предиктора вектора движения является оптимальным предиктором вектора движения (этап S307).
[0072] В одном варианте осуществления информация индикатора предиктора вектора движения может быть кодирована в кодированные данные с числом битов согласно числу вариантов предикторов вектора движения, выбранных посредством узла 204 определения предикторов вектора движения. Например, когда число вариантов предикторов вектора движения составляет 0 или 1, информация индикатора предиктора вектора движения ни кодируется, ни передается. Когда число вариантов предикторов вектора движения составляет 2 или 3, информация индикатора предиктора вектора движения кодируется самое большее в двух битах.
[0073] Информация индикатора предиктора вектора движения может быть кодирована на основе фиксированной таблицы кодирования независимо от числа вариантов предикторов вектора движения. В этом случае информация индикатора предиктора вектора движения может быть кодирована с использованием нижеприведенной таблицы кодирования.
Таблица 1. Таблица кодирования
Битовое значение – Оптимальный предиктор вектора движения
0 – вариант 1 предиктора вектора движения (PMV1)
10 – вариант 2 предиктора вектора движения (PMV2)
11 – вариант 3 предиктора вектора движения (PMV3)
[0074] В одном варианте осуществления, порядок, в котором определяются вариант PMV1 предиктора вектора движения, вариант PMV2 предиктора вектора движения и вариант PMV3 предиктора вектора движения, может быть изменен. Например, может быть использован процесс, в котором целевой фрагмент разделяется на множество подфрагментов, и процесс кодирования выполняется для каждого из подфрагментов. В частности, когда целевой фрагмент разделяется на верхний и нижний подфрагменты, и нижний подфрагмент может быть использован в качестве целевого фрагмента, или когда целевой фрагмент разделяется на левый и правый подфрагменты, и левый подфрагмент может быть использован в качестве целевого фрагмента, варианты предикторов вектора движения могут быть определены в порядке соседней слева области, соседней сверху области и другой области (например, фрагмента в опорном кадре в позиции, идентичной позиции целевого фрагмента). С другой стороны, когда целевой фрагмент разделяется на верхний и нижний подфрагменты, и верхний подфрагмент может быть использован в качестве целевого фрагмента, или целевой фрагмент разделяется на левый и правый подфрагменты, и правый подфрагмент может быть использован в качестве целевого фрагмента, варианты предикторов вектора движения могут быть определены в порядке соседней сверху области, соседней слева области и другой области (например, фрагмента в опорном кадре в позиции, идентичной позиции целевого фрагмента), для этих целевых фрагментов.
[0075] Ниже подробно описывается первый вариант осуществления процесса определения варианта предиктора вектора движения согласно одному варианту осуществления. Во-первых, описывается первый вариант осуществления процесса для этапа S302 на фиг. 3 со ссылкой на фиг. 1B, 4 и 5. В данном документе, как показано на фиг. 1B, предполагается, что соседняя слева область состоит из соседнего расположенного слева снизу фрагмента BD для целевого фрагмента и соседних расположенных слева фрагментов BL, BL1 и BL2 для целевого фрагмента. Также предполагается, что фрагменты в соседней слева области сканируются в порядке возрастания индекса i, показанном в (a) по фиг. 4. А именно, предполагается, что фрагменты в соседней слева области сканируются в порядке снизу вверх.
[0076] Соседний расположенный слева снизу фрагмент BD может исключаться из соседней слева области. Кроме того, фрагмент еще ниже соседнего расположенного слева снизу фрагмента BD может быть включен в соседнюю слева область. Кроме того, фрагмент BE или фрагмент, расположенный выше фрагмента BE, может быть включен в соседнюю слева область. Кроме того, фрагмент, расположенный слева от целевого фрагмента и на предварительно определенном расстоянии от целевого фрагмента, может быть включен в соседнюю слева область.
[0077] Возвращаясь к (a) на фиг. 4 и фиг. 5, в процессе этапа S302, во-первых, узел 203 определения вариантов предикторов вектора движения задает 0 в индексе i (этап S501). Узел 203 определения вариантов предикторов вектора движения увеличивает индекс i на приращение в 1 на следующем этапе S502.
[0078] Затем узел 203 определения вариантов предикторов вектора движения определяет, существует или нет i-ый фрагмент в порядке сканирования в соседней слева области, и имеет или нет фрагмент вектор движения (этап S503). Если существует i-ый фрагмент в соседней слева области, и если фрагмент имеет вектор движения, узел 203 определения вариантов предикторов вектора движения определяет, на следующем этапе S504, то, имеют или нет i-ый фрагмент и целевой фрагмент идентичные идентификационные данные списка опорных изображений и идентификационные данные опорного изображения. Когда условие определения на этапе S504 удовлетворяется, узел 203 определения вариантов предикторов вектора движения определяет вектор движения i-го фрагмента в качестве варианта PMV1 предиктора вектора движения на следующем этапе S505 и затем выводит вариант PMV1 предиктора вектора движения на следующем этапе S506, после чего обработка завершается.
[0079] С другой стороны, когда условие определения на этапе S503 не удовлетворяется, или когда условие определения на этапе S504 не удовлетворяется, обработка переходит к этапу S507. На этапе S507 узел 203 определения вариантов предикторов вектора движения определяет, превышает или нет индекс i число N фрагментов в соседней слева области. Когда условие определения на этапе S507 не удовлетворяется, узел 203 определения вариантов предикторов вектора движения продолжает обработку от этапа S502. С другой стороны, когда условие определения на этапе S507 удовлетворяется, узел 203 определения вариантов предикторов вектора движения завершает обработку.
[0080] Фрагменты в соседней слева области сканируются в порядке снизу соседней слева области в варианте осуществления, показанном в (a) на фиг. 4, но в одном варианте осуществления, как показано в (c) на фиг. 4, они могут быть сканированы в порядке сверху соседней слева области.
[0081] В другом варианте осуществления, может адаптивно выбираться любой из порядка сканирования, показанного в (a) на фиг. 4, и порядка сканирования, показанного в (c) на фиг. 4. Например, порядок сканирования может быть определен на основе взаимосвязи векторов движения соседних фрагментов. В частности, можно приспосабливать способ сравнения абсолютной разности α между вектором движения фрагмента BL и вектором движения фрагмента BA с абсолютной разностью β между вектором движения фрагмента BRA и вектором движения фрагмента BD на фиг. 1B и выбора порядка сканирования в (c) на фиг. 4, если абсолютная разность α меньше абсолютной разности β. В противоположном случае, с другой стороны, может быть выбран порядок сканирования в (a) на фиг. 4.
[0082] В варианте осуществления этап S502 может быть сконфигурирован с возможностью увеличивать индекс i на приращение в два или более, тем самым прореживая фрагменты, которые должны быть сканированы.
[0083] Ниже подробно описывается первый вариант осуществления процесса для этапа S303 на фиг. 3 со ссылкой на фиг. 1B, 4 и 6. В данном документе, как показано на фиг. 1B, предполагается, что соседняя сверху область состоит из соседнего расположенного слева сверху фрагмента BE для целевого фрагмента и соседнего расположенного сверху фрагмента BA, BA1 и BA2 для целевого фрагмента. Также предполагается, что фрагменты в соседней сверху области сканируются в порядке возрастания индекса j, показанном в (a) на фиг. 4. А именно, предполагается, что фрагменты в соседней сверху области сканируются в порядке справа налево.
[0084] Соседний расположенный слева сверху фрагмент BE может исключаться из соседней сверху области. Кроме того, фрагмент, еще левее соседнего расположенного слева сверху фрагмента BE, может быть включен в соседнюю сверху область. Кроме того, фрагмент, расположенный выше целевого фрагмента и на предварительно определенном расстоянии от целевого фрагмента, может быть включен в соседнюю сверху область.
[0085] Возвращаясь к (a) на фиг. 4 и фиг. 6, в процессе этапа S303, во-первых, узел 203 определения вариантов предикторов вектора движения задает 0 в индексе j (этап S601). Узел 203 определения вариантов предикторов вектора движения увеличивает индекс j на приращение в 1 на следующем этапе S602.
[0086] Затем, узел 203 определения вариантов предикторов вектора движения определяет то, существует или нет j-ый фрагмент в порядке сканирования в соседней сверху области, и имеет или нет фрагмент вектор движения (этап S603). Когда существует j-ый фрагмент в соседней сверху области, и когда фрагмент имеет вектор движения, узел 203 определения вариантов предикторов вектора движения определяет на следующем этапе S604, имеют или нет j-ый фрагмент и целевой фрагмент идентичные идентификационные данные списка опорных изображений и идентификационные данные опорного изображения. Когда условие определения на этапе S604 удовлетворяется, узел 203 определения вариантов предикторов вектора движения определяет на следующем этапе S605, является или нет вектор движения j-го фрагмента идентичным варианту PMV1 предиктора вектора движения. Когда вектор движения j-го фрагмента отличается от варианта PMV1 предиктора вектора движения, узел 203 определения вариантов предикторов вектора движения определяет на следующем этапе S606, что вектор движения j-го фрагмента является вариантом PMV2 предиктора вектора движения, и затем выводит вариант PMV2 предиктора вектора движения на следующем этапе S607, после чего обработка завершается.
[0087] С другой стороны, когда условие определения на этапе S603 не удовлетворяется, когда условие определения на этапе S604 не удовлетворяется, или когда условие определения на этапе S605 удовлетворяется, обработка переходит к этапу S608.
[0088] На этапе S608 узел 203 определения вариантов предикторов вектора движения определяет, превышает или нет индекс j число M фрагментов в соседней сверху области. Когда условие определения на этапе S608 не удовлетворяется, узел 203 определения вариантов предикторов вектора движения продолжает обработку от этапа S602. С другой стороны, когда условие определения на этапе S608 удовлетворяется, узел 203 определения вариантов предикторов вектора движения завершает обработку.
[0089] Фрагменты в соседней сверху области сканируются в порядке справа налево в варианте осуществления, показанном в (a) по фиг. 4, но фрагменты могут быть сканированы в порядке слева направо, как показано в (c) по фиг. 4, в одном варианте осуществления.
[0090] В другом варианте осуществления, может адаптивно выбираться любой из порядка сканирования, показанного в (a) по фиг. 4, или порядка сканирования, показанного в (c) по фиг. 4. Например, порядок сканирования может быть определен на основе взаимосвязи векторов движения соседних фрагментов. В частности, можно приспосабливать способ сравнения абсолютной разности α между вектором движения фрагмента BL и вектором движения фрагмента BA с абсолютной разностью β между вектором движения фрагмента BRA и вектором движения фрагмента BD на фиг. 1B и выбора порядка сканирования в (c) по фиг. 4, если абсолютная разность α меньше абсолютной разности β. В противоположном случае, с другой стороны, может быть выбран порядок сканирования в (a) по фиг. 4.
[0091] Фрагмент BE включается в соседнюю сверху область в вышеописанном варианте осуществления, но фрагмент BE может быть включен в соседнюю слева область. Также можно задавать фрагмент BE в качестве области, независимой от соседней сверху области и соседней слева области, и обрабатывать вектор движения фрагмента BE в качестве другого варианта предиктора вектора движения.
[0092] Вышеприведенный вариант осуществления использует как идентификационные данные списка опорных изображений, так и идентификационные данные опорного изображения в качестве условия определения для выбора вектора движения фрагмента в соседней области в качестве варианта предиктора вектора движения, но настоящее изобретение не ограничено этим. Например, либо идентификационные данные списка опорных изображений, либо идентификационные данные опорного изображения могут использоваться для условия определения. Когда идентификационные данные опорного изображения не используются, масштабирование векторов движения фрагментов в соседней области может быть реализовано согласно расстоянию между опорным кадром и целевым кадром. Также можно использовать информацию другого внутрикадрового прогнозирования. В частности, размер целевого фрагмента и размеры соседних фрагментов могут суммироваться как один в вышеуказанном условии определения. В частности, когда размер целевого фрагмента составляет N×N пикселов, условие определения может состоять в том, что размер фрагмента в соседней области составляет N×N пикселов, или условие определения может состоять в том, что размер фрагмента составляет от N/2×N/2 пикселов до 2N×2N пикселов.
[0093] В вышеприведенном варианте осуществления вычисление варианта PMV2 предиктора вектора движения в соседней сверху области выполняется после вычисления варианта PMV1 предиктора вектора движения в соседней слева области, но настоящее изобретение не ограничено этим. Вариант PMV2 предиктора вектора движения в соседней сверху области может быть определен до определения варианта PMV1 предиктора вектора движения в соседней слева области. В этом случае, процесс определения того, является или нет вектор движения фрагмента в соседней слева области идентичным варианту PMV2 предиктора вектора движения в соседней сверху области, может быть выполнен в процессе определения варианта PMV1 предиктора вектора движения в соседней слева области.
[0094] В вышеописанном варианте осуществления, на этапе S605 определяется, является или нет вектор движения j-го фрагмента в соседней сверху области идентичным варианту PMV1 предиктора вектора движения в соседней слева области, но это определение может опускаться. В этом случае процесс этапа S606 может быть непосредственно выполнен, когда условие определения на этапе S604 удовлетворяется.
[0095] В одном варианте осуществления, этап S602 может быть сконфигурирован с возможностью увеличивать индекс j на приращение в два или более, тем самым прореживая фрагменты, которые должны быть сканированы.
[0096] Ниже описывается устройство декодирования видео, которое декодирует сжатый поток, сформированный посредством устройства 20 кодирования видео, чтобы восстанавливать видеопоследовательность. Фиг. 7 показывает конфигурацию устройства декодирования видео согласно одному варианту осуществления. Устройство 30 декодирования видео, показанное на фиг. 7, является примером устройства, которое прогнозирующим образом декодирует вектор движения согласно одному аспекту настоящего изобретения.
[0097] Как показано на фиг. 7, устройство 30 декодирования видео может содержать узел 301 энтропийного декодирования, узел 302 определения вариантов предикторов вектора движения, узел 303 определения предикторов вектора движения, узел 304 суммирования векторов движения, узел 305 компенсации движения, запоминающее устройство 306 кадров, узел 307 пространственного прогнозирования, узел 308 определения способа прогнозирования, узел 309 обратного квантования, узел 310 обратного ортогонального преобразования и узел 311 суммирования.
[0098] Узел 301 энтропийного декодирования принимает сжатый поток, затем обнаруживает синхрослово, указывающее начало каждого кадра в сжатом потоке, и после этого восстанавливает информацию режима прогнозирования и квантованные коэффициенты ортогонального преобразования из кодированных данных в сжатом потоке в каждой из разделенных единиц фрагментов. Когда режим прогнозирования, указываемый посредством информации режима прогнозирования, является ʺрежимом межкадрового прогнозированияʺ, узел 301 энтропийного декодирования декодирует кодированные данные в сжатом потоке, чтобы также восстанавливать разность векторов движения, идентификационные данные списка опорных изображений и идентификационные данные опорного изображения.
[0099] Узел 301 энтропийного декодирования передает восстановленные квантованные коэффициенты ортогонального преобразования через линию L301a в узел 309 обратного квантования. Узел 301 энтропийного декодирования передает информацию режима прогнозирования, идентификационные данные списка опорных изображений и идентификационные данные опорного изображения через линию L301b в узел 302 определения вариантов предикторов вектора движения. Кроме того, узел 301 энтропийного декодирования передает восстановленную разность векторов движения через линию L301d в узел 304 суммирования векторов движения. Узел 301 энтропийного декодирования передает восстановленную информацию режима прогнозирования через линию L301e в узел 308 определения способа прогнозирования.
[0100] Когда режим прогнозирования, указываемый посредством принимаемой информации режима прогнозирования, является ʺрежимом межкадрового прогнозированияʺ, узел 302 определения вариантов предикторов вектора движения определяет варианты предикторов вектора движения из векторов движения ранее декодированных соседних фрагментов. Поскольку обработка касательно определения вариантов предикторов вектора движения, выполняемая посредством узла 302 определения вариантов предикторов вектора движения, является идентичной обработке, описанной выше в отношении узла 203 определения вариантов предикторов вектора движения, ее описание опускается в данном документе. Этот узел 302 определения вариантов предикторов вектора движения выводит определенные варианты предикторов вектора движения через линию L302b в узел 303 определения предикторов вектора движения. Кроме того, узел 302 определения вариантов предикторов вектора движения выводит число вариантов предикторов вектора движения через линию L302a в узел 301 энтропийного декодирования.
[0101] Узел 301 энтропийного декодирования, при приеме числа вариантов предикторов вектора движения через линию L302a, декодирует кодированные данные в сжатом потоке согласно числу вариантов предикторов вектора движения, чтобы восстанавливать информацию индикатора предиктора вектора движения. Узел 301 энтропийного декодирования передает восстановленную информацию индикатора предиктора вектора движения в узел 303 определения предикторов вектора движения. Более конкретно, когда число вариантов предикторов вектора движения составляет 0 или 1, информация индикатора предиктора вектора движения не передается, и, следовательно, процесс восстановления не выполняется. Когда число вариантов предикторов вектора движения составляет 2 или 3, кодированные данные двух битов самое большее энтропийно декодируется, чтобы восстанавливать информацию индикатора предиктора вектора движения.
[0102] Узел 301 энтропийного декодирования сконфигурирован с возможностью восстанавливать информацию индикатора предиктора вектора движения посредством декодирования кодированных данных согласно числу вариантов предикторов вектора движения, выбранных посредством узла 302 определения вариантов предикторов вектора движения, но настоящее изобретение не ограничено этим. Например, информация индикатора предиктора вектора движения может быть восстановлена с использованием фиксированной таблицы кодирования таблицы 1, описанной выше, независимо от числа вариантов предикторов вектора движения. Следует отметить, что задание фиксированной таблицы кодирования не ограничивается этим примером. Информация индикатора предиктора вектора движения может быть восстановлена до вычисления вариантов предикторов вектора движения.
[0103] Узел 303 определения предикторов вектора движения определяет оптимальный предиктор PMVopt вектора движения на основе информации индикатора предиктора вектора движения, вводимой через линию L301c, из вариантов предикторов вектора движения, вводимых через линию L302b. Определенный оптимальный предиктор PMVopt вектора движения передается через линию L303 в узел 304 суммирования векторов движения.
[0104] Узел 304 суммирования векторов движения выполняет суммирование разности векторов движения, передаваемой из узла 301 энтропийного декодирования, и оптимального предиктора PMVopt вектора движения, передаваемой из узла 303 определения предикторов вектора движения, чтобы восстанавливать вектор движения. Узел 304 суммирования векторов движения передает сигнал, включающий в себя восстановленный вектор движения через линию L304, в узел 305 компенсации движения.
[0105] Узел 305 компенсации движения выбирает сигнал опорных кадровых изображений в запоминающем устройстве 306 на основе вектора движения, передаваемого из узла 304 суммирования векторов движения, и информации режима прогнозирования, идентификационных данных списка опорных изображений и идентификационных данных опорного изображения, передаваемых через линию L301d из узла 301 энтропийного декодирования, и формирует прогнозированный сигнал изображений с использованием выбранного сигнала опорных кадровых изображений. Узел 305 компенсации движения передает прогнозированный сигнал изображений через линию L305a в узел 308 определения способа прогнозирования. Кроме того, узел 305 компенсации движения выводит информацию режима прогнозирования, идентификационные данные списка опорных изображений и идентификационные данные опорного изображения, используемые при формировании прогнозированного сигнала изображений, через линию L305b в запоминающее устройство 306 кадров. В запоминающем устройстве 306 имеются сохраненные ранее декодированные сигналы кадровых изображений, информация режима прогнозирования, идентификационные данные списка опорных изображений и идентификационные данные опорного изображения.
[0106] Когда режим прогнозирования, указываемый посредством информации режима прогнозирования, вводимой через линию L301e, является ʺрежимом внутрикадрового прогнозированияʺ, узел 307 пространственного прогнозирования формирует прогнозированный сигнал изображений в отношении сигналов изображений (сигналов опорных кадровых изображений) ранее декодированных соседних фрагментов и передает прогнозированный сигнал изображений в узел 308 определения способа прогнозирования.
[0107] Узел 308 определения способа прогнозирования выбирает либо прогнозированный сигнал изображений, сформированный посредством межкадрового прогнозирования, либо прогнозированный сигнал изображений, сформированный посредством внутрикадрового прогнозирования, на основе режима прогнозирования, передаваемого из узла 301 энтропийного декодирования, и передает выбранный прогнозированный сигнал изображений через линию L308 в узел 311 суммирования.
[0108] Узел 309 обратного квантования выполняет обратное квантование квантованных коэффициентов ортогонального преобразования, передаваемых из узла 301 энтропийного декодирования, чтобы восстанавливать коэффициенты ортогонального преобразования. Узел 309 обратного квантования передает восстановленные коэффициенты ортогонального преобразования через линию L309 в узел 310 обратного ортогонального преобразования.
[0109] Узел 310 обратного ортогонального преобразования применяет обратное ортогональное преобразование к принимаемым коэффициентам ортогонального преобразования, чтобы восстанавливать остаточный сигнал прогнозирования. Узел 310 обратного ортогонального преобразования передает восстановленный остаточный сигнал прогнозирования через линию L310 в узел 311 суммирования.
[0110] Узел 311 суммирования выполняет суммирование прогнозированного сигнала изображений, передаваемого из узла 308 определения способа прогнозирования, и остаточного сигнала прогнозирования, передаваемого из узла 310 обратного ортогонального преобразования, чтобы восстанавливать сигнал кадровых изображений.
[0111] Восстановленный сигнал кадровых изображений выводится в предварительно определенное время отображения в устройство отображения (не показано), посредством чего входной видеосигнал (сигнал динамического изображения) может быть воспроизведен. Поскольку сигнал кадровых изображений используется в последующем процессе декодирования, он сохраняется в качестве сигнала опорных кадровых изображений в запоминающем устройстве 306. Сигнал кадровых изображений в данном документе может иметь значение, идентичное значению сигнала кадровых изображений с идентичным номером в устройстве 20 кодирования видео. Информация относительно вектора движения и номера опорного кадра также одновременно сохраняется в ассоциации с сигналом опорных кадровых изображений.
[0112] Далее описывается один вариант осуществления способа прогнозирующего декодирования векторов движения, используемого в устройстве 30 декодирования видео, со ссылкой на фиг. 8. Фиг. 8 является блок-схемой последовательности операций способа, показывающей один вариант осуществления способа прогнозирующего декодирования векторов движения.
[0113] В способе прогнозирующего декодирования предикторов вектора движения согласно одному варианту осуществления, как показано на фиг. 8, идентификационные данные списка опорных изображений и идентификационные данные опорного изображения сначала вводятся в узел 302 определения вариантов предикторов вектора движения (этап S801).
[0114] Затем узел 302 определения вариантов предикторов вектора движения определяет вариант предиктора вектора движения, PMV1, из вектора движения или векторов движения одного или более фрагментов, включенных в соседнюю слева область, расположенную слева от целевого фрагмента BT (этап S302).
[0115] Затем узел 302 определения вариантов предикторов вектора движения определяет вариант предиктора вектора движения, PMV2, из вектора движения или векторов движения одного или более фрагментов, включенных в соседнюю сверху область, расположенную выше целевого фрагмента BT (этап S303).
[0116] Затем узел 302 определения вариантов предикторов вектора движения определяет вариант PMV3 предиктора вектора движения (этап S304). Процессы этапов S302-S304 на фиг. 8 являются идентичными процессам этапов S302-S304 на фиг. 3.
[0117] На этапе S805 узел 302 определения вариантов предикторов вектора движения затем задает в качестве вариантов предикторов вектора движения только неидентичные варианты предикторов вектора движения из варианта PMV1 предиктора вектора движения, варианта PMV2 предиктора вектора движения и варианта PMV3 предиктора вектора движения. В качестве конкретного примера, если вариант PMV1 предиктора вектора движения является идентичным варианту PMV3 предиктора вектора движения, только вариант PMV1 предиктора вектора движения и вариант PMV2 предиктора вектора движения выбираются в качестве вариантов предикторов вектора движения. Когда обработка вплоть до этапа S805 приводит к определению отсутствия эффективных вариантов предикторов вектора движения, нулевой вектор движения задается как вариант предиктора вектора движения.
[0118] На этапе S806, как описано выше, узел 301 декодирования восстанавливает информацию индикатора предиктора вектора движения на основе числа вариантов предикторов вектора движения. Затем на этапе S807 узел 303 определения предикторов вектора движения выбирает оптимальный предиктор вектора движения из вариантов предикторов вектора движения на основе информации индикатора предиктора вектора движения.
[0119] Далее описывается второй вариант осуществления способа прогнозирующего кодирования векторов движения. Фиг. 9 является блок-схемой последовательности операций способа, показывающей процесс определения вариантов предикторов вектора движения в способе прогнозирующего кодирования векторов движения во втором варианте осуществления. В способе прогнозирующего кодирования векторов движения согласно второму варианту осуществления, последовательность операций, показанная на фиг. 9, используется вместо этапов S302-S304 на фиг. 3.
[0120] В настоящем варианте осуществления на этапе S901 узел 203 определения вариантов предикторов вектора движения сначала сканирует фрагменты в соседней слева области, расположенной слева от целевого фрагмента, в направлении вниз, чтобы определять вариант PMVa предиктора вектора движения из векторов движения этих фрагментов. На этапе S901 узел 203 определения вариантов предикторов вектора движения может обнаруживать вариант PMVa предиктора вектора движения посредством выполнения способа определения варианта PMV1 предиктора вектора движения (этап S302), описанного в первом варианте осуществления, согласно порядку сканирования соседней слева области, показанному в (c) на фиг. 4. Для определения варианта PMVa предиктора вектора движения узел 203 определения вариантов предикторов вектора движения может использовать входные идентификационные данные списка опорных изображений и идентификационные данные опорного изображения, аналогично первому варианту осуществления.
[0121] Затем на этапе S902 узел 203 определения вариантов предикторов вектора движения сканирует фрагменты в соседней слева области, расположенной слева от целевого фрагмента, в направлении вверх, чтобы определять вариант PMVb предиктора вектора движения из векторов движения этих фрагментов. На этапе S902 узел 203 определения вариантов предикторов вектора движения может обнаруживать вариант PMVb предиктора вектора движения посредством выполнения способа определения варианта PMV1 предиктора вектора движения (этап S302), описанного в первом варианте осуществления, согласно порядку сканирования соседней слева области, показанному в (a) на фиг. 4. Для определения варианта PMVb предиктора вектора движения узел 203 определения вариантов предикторов вектора движения может использовать идентификационные данные списка опорных изображений и идентификационные данные опорного изображения.
[0122] Затем на этапе S903 узел 203 определения вариантов предикторов вектора движения выбирает вариант PMVX предиктора вектора движения в соседней слева области из варианта PMVa предиктора вектора движения и варианта PMVb предиктора вектора движения. Кроме того, узел 203 определения вариантов предикторов вектора движения формирует информацию индикатора направления сканирования, указывающую направление X сканирования, используемое для определения выбранного варианта предиктора вектора движения. В частности, узел 203 определения вариантов предикторов вектора движения определяет в качестве варианта PMVX предиктора вектора движения, вариант предиктора вектора движения с наименьшей ошибкой относительно предиктора вектора движения целевого фрагмента, из варианта PMVa предиктора вектора движения и варианта PMVb предиктора вектора движения. Кроме того, когда выбирается вариант PMVa предиктора вектора движения в качестве варианта PMVX предиктора вектора движения, узел 203 определения вариантов предикторов вектора движения формирует информацию индикатора направления сканирования, указывающую направление вниз; а когда выбирается вариант PMVb предиктора вектора движения, он формирует информацию индикатора направления сканирования, указывающую направление вверх.
[0123] Затем на этапе S904 узел 203 определения вариантов предикторов вектора движения сканирует фрагменты в соседней сверху области для целевого фрагмента в направлении вправо, чтобы определять вариант PMVc предиктора вектора движения из векторов движения этих фрагментов. На этапе S904 узел 203 определения вариантов предикторов вектора движения может обнаруживать вариант PMVc предиктора вектора движения посредством выполнения способа определения варианта PMV2 предиктора вектора движения (этап S303), описанного в первом варианте осуществления, согласно порядку сканирования соседней сверху области, показанному в (c) на фиг. 4. Для определения варианта PMVc предиктора вектора движения узел 203 определения вариантов предикторов вектора движения может использовать входные идентификационные данные списка опорных изображений и идентификационные данные опорного изображения, аналогично первому варианту осуществления.
[0124] Затем на этапе S905 узел 203 определения вариантов предикторов вектора движения сканирует фрагменты в соседней сверху области для целевого фрагмента в направлении влево, чтобы определять вариант PMVd предиктора вектора движения из векторов движения этих фрагментов. На этапе S905 узел 203 определения вариантов предикторов вектора движения может обнаруживать вариант PMVd предиктора вектора движения посредством выполнения способа определения (этап S303) варианта PMV2 предиктора вектора движения, описанного в первом варианте осуществления, согласно порядку сканирования соседней сверху области, показанному в (a) на фиг. 4. Для определения варианта PMVd предиктора вектора движения узел 203 определения вариантов предикторов вектора движения также может использовать идентификационные данные списка опорных изображений и идентификационные данные опорного изображения.
[0125] Затем на этапе S906 узел 203 определения вариантов предикторов вектора движения выбирает вариант PMVY предиктора вектора движения в соседней сверху области из варианта PMVc предиктора вектора движения и варианта PMVd предиктора вектора движения. Узел 203 определения вариантов предикторов вектора движения формирует информацию индикатора направления сканирования, указывающую направление Y сканирования, используемое для определения выбранного варианта предиктора вектора движения. В частности, узел 203 определения вариантов предикторов вектора движения определяет вариант предиктора вектора движения с наименьшей ошибкой относительно предиктора вектора движения целевого фрагмента, из варианта PMVc предиктора вектора движения и варианта PMVd предиктора вектора движения, в качестве варианта PMVY предиктора вектора движения. Когда выбирается вариант PMVc предиктора вектора движения в качестве варианта PMVY предиктора вектора движения, узел 203 определения вариантов предикторов вектора движения формирует информацию индикатора направления сканирования, указывающую направление вправо; когда выбирается вариант PMVd предиктора вектора движения, он формирует информацию индикатора направления сканирования, указывающую направление влево.
[0126] Затем на этапе S907 узел 203 определения вариантов предикторов вектора движения получает вариант PMVZ предиктора вектора движения фрагмента в опорном кадре в позиции, пространственно идентичной целевому фрагменту, идентично процессу этапа S304. Процесс на этом этапе S907 может быть идентичным вышеуказанной форме модификации процесса этапа S304 в первом варианте осуществления.
[0127] Затем на этапе S908 узел 203 определения вариантов предикторов вектора движения задает только неидентичные варианты предикторов вектора движения из варианта PMVX предиктора вектора движения, варианта PMVY предиктора вектора движения и варианта PMVZ предиктора вектора движения, в качестве вариантов предикторов вектора движения. Затем узел 203 определения вариантов предикторов вектора движения выводит варианты предикторов вектора движения, число вариантов предикторов вектора движения и информацию индикатора направления сканирования. В качестве конкретного примера, если вариант PMVX предиктора вектора движения является идентичным варианту PMVZ предиктора вектора движения, только вариант PMVX предиктора вектора движения и вариант PMVY предиктора вектора движения выбираются в качестве вариантов предикторов вектора движения. Если эффективный вариант предиктора вектора движения не определяется на этапах S901-S907, нулевой вектор движения задается как вариант предиктора вектора движения.
[0128] После этого обработка, идентичная обработке на этапе S306 в первом варианте осуществления, выполняется во втором варианте осуществления. В завершение, на этапе S307 узел 213 кодирования кодирует информацию индикатора предиктора вектора движения, чтобы указывать, какой вариант предиктора вектора движения является оптимальным предиктором вектора движения. Во втором варианте осуществления узел 213 кодирования также кодирует информацию индикатора направления сканирования на этапе S307.
[0129] Во втором варианте осуществления, фрагменты, составляющие соседнюю слева область, и фрагменты, составляющие соседнюю сверху область, могут быть модифицированы, как описано выше в первом варианте осуществления. Число предикторов вектора движения также может быть изменено, как описано выше в первом варианте осуществления. Как описано выше в первом варианте осуществления, порядок определения вариантов PMVX, PMVY и PMVZ предикторов вектора движения может быть изменен на основе режима разделения целевого фрагмента на подфрагменты и позиций подфрагментов.
[0130] Ниже описывается способ прогнозирующего декодирования векторов движения согласно второму варианту осуществления. Фиг. 10 является блок-схемой последовательности операций способа, показывающей способ прогнозирующего декодирования векторов движения согласно второму варианту осуществления. Способ прогнозирующего декодирования, показанный на фиг. 10, является способом прогнозирования вектора движения из кодированных данных, сформированных посредством способа прогнозирующего кодирования векторов движения согласно второму варианту осуществления.
[0131] В настоящем варианте осуществления, как показано на фиг. 10, на этапе S1001 узел 302 определения вариантов предикторов вектора движения сначала принимает ввод восстановленных идентификационных данных списка опорных изображений, идентификационных данных опорного изображения и информации индикатора направления сканирования (направление X сканирования, направление Y сканирования).
[0132] Затем на этапе S1002 узел 302 определения вариантов предикторов вектора движения определяет вариант PMVX предиктора вектора движения в соседней слева области согласно идентификационным данным списка опорных изображений, идентификационным данным опорного изображения и информации индикатора направления сканирования, чтобы указывать направление X сканирования. Вариант PMVX предиктора вектора движения определяется посредством процесса, идентичного процессу определения варианта PMV1 предиктора вектора движения в первом варианте осуществления, посредством последовательного сканирования фрагментов в соседней слева области в направлении X сканирования, указываемом посредством информации индикатора направления сканирования.
[0133] Затем на этапе S1003 узел 302 определения вариантов предикторов вектора движения определяет вариант PMVY предиктора вектора движения в соседней сверху области согласно идентификационным данным списка опорных изображений, идентификационным данным опорного изображения и информации индикатора направления сканирования, чтобы указывать направление Y сканирования. Вариант PMVY предиктора вектора движения определяется посредством процесса, идентичного процессу определения варианта PMV2 предиктора вектора движения в первом варианте осуществления, посредством последовательного сканирования фрагментов в соседней сверху области в направлении Y сканирования, указываемом посредством информации индикатора направления сканирования.
[0134] Затем на этапе S1004 узел 302 определения вариантов предикторов вектора движения определяет вариант PMVZ предиктора вектора движения фрагмента в опорном кадре, пространственно идентичном целевому фрагменту. Процесс этапа S1004 является идентичным процессу этапа 304.
[0135] Затем на этапе S1005 узел 302 определения вариантов предикторов вектора движения задает только неидентичные варианты предикторов вектора движения, из варианта PMVX предиктора вектора движения, варианта PMVY предиктора вектора движения и варианта PMVZ предиктора вектора движения, в качестве вариантов предикторов вектора движения. В качестве конкретного примера, если вариант PMVX предиктора вектора движения является идентичным варианту PMVZ предиктора вектора движения, только вариант PMVX предиктора вектора движения и вариант PMVY предиктора вектора движения выбираются в качестве вариантов предикторов вектора движения. Если эффективные варианты предикторов вектора движения не определяются посредством обработки вплоть до этапа S1005, нулевой вектор движения задается как вариант предиктора вектора движения.
[0136] Затем на этапе S1006 узел 301 декодирования восстанавливает информацию индикатора предиктора вектора движения на основе числа вариантов предикторов вектора движения. На этапе S1007 узел 303 определения предикторов вектора движения затем выбирает оптимальный предиктор вектора движения из числа вариантов предикторов вектора движения на основе информации индикатора предиктора вектора движения.
[0137] Во втором варианте осуществления порядок определения вариантов PMVX, PMVY и PMVZ предикторов вектора движения также может быть изменен на основе режима разделения целевого фрагмента на подфрагменты и позиций подфрагментов, как описано выше в первом варианте осуществления.
[0138] Устройство 20 кодирования видео и устройство 30 декодирования видео, описанные выше, сконфигурированы с возможностью сокращать число вариантов для предиктора вектора движения и затем обнаруживать оптимальный предиктор вектора движения из результирующих вариантов предикторов вектора движения. Следовательно, можно уменьшать вычислительную сложность, необходимую для определения оптимального предиктора вектора движения. Кроме того, информация индикатора предиктора вектора движения, чтобы указывать оптимальный предиктор вектора движения, может быть кодирована при меньшем числе битов.
[0139] Устройство 20 кодирования видео и устройство 30 декодирования видео с использованием прогнозирующего кодирования и прогнозирующего декодирования второго варианта осуществления имеют возможность определять варианты предикторов вектора движения с меньшей ошибкой относительно вектора движения целевого фрагмента.
[0140] Ниже описывается программа 1000 кодирования видео для побуждения компьютера выступать в качестве устройства 20 кодирования видео и программа 1100 декодирования видео для побуждения компьютера выступать в качестве вышеуказанного устройства 30 декодирования видео.
[0141] Фиг. 11 является чертежом, показывающим конфигурацию программы кодирования видео согласно одному варианту осуществления. Фиг. 12 является чертежом, показывающим конфигурацию программы декодирования видео согласно одному варианту осуществления. Фиг. 13 является чертежом, показывающим аппаратную конфигурацию компьютера согласно одному варианту осуществления. Фиг. 14 является видом в перспективе, показывающим компьютер согласно одному варианту осуществления.
[0142] Программа 1000 кодирования видео, показанная на фиг. 11, может предоставляться как сохраненная на носителе SM записи. Кроме того, программа 1100 декодирования видео, показанная на фиг. 12, также может предоставляться как сохраненная на носителе SM записи. Примеры таких носителей SM записи, применимых в данном документе, включают в себя такие носители записи, как гибкий диск, CD-ROM, DVD или ROM, полупроводниковые запоминающие устройства и т.п.
[0143] Как показано на фиг. 13, компьютер C10 может содержать устройство C12 считывания, такое как узел накопителя на гибких дисках, узел накопителя на CD-ROM или узел накопителя на DVD, оперативное запоминающее устройство (RAM) C14, в котором постоянно размещается операционная система, запоминающее устройство C16, сохраняющее программу, сохраненную на носителе SM записи, узел C18 монитора, такой как дисплей, мышь 20 и клавиатуру 22 в качестве устройств ввода, устройство C24 связи для передачи/приема данных и т.п. и CPU C26, чтобы управлять выполнением программы.
[0144] Когда носитель SM записи вставляется в устройство C12 считывания, компьютер C10 становится доступным для программы 1000 кодирования видео, сохраненной на носителе SM записи, через устройство C12 считывания, и может работать в качестве устройства 20 кодирования видео на основе программы 1000.
[0145] Когда носитель SM записи вставляется в устройство C12 считывания, компьютер C10 становится доступным для программы 1100 декодирования видео, сохраненной на носителе SM записи, через устройство C12 считывания, и может работать в качестве устройства 30 декодирования видео на основе программы 1100.
[0146] Как показано на фиг. 11, программа 1000 кодирования видео содержит основной модуль 1001, чтобы, в общем, управлять обработкой, модуль 1002 ввода, модуль 1003 обнаружения движения, модуль 1004 определения вариантов предикторов вектора движения, модуль 1005 определения предикторов вектора движения, модуль 1006 вычисления разности векторов движения, модуль 1007 компенсации движения, модуль 1008 пространственного прогнозирования, модуль 1009 определения способа прогнозирования, модуль 1010 вычитания, модуль 1011 ортогонального преобразования, модуль 1012 квантования, модуль 1013 энтропийного кодирования, модуль 1014 обратного квантования, модуль 1015 обратного ортогонального преобразования и модуль 1016 суммирования. Функции, которые предписывают компьютеру реализовывать модуль 1002 ввода, модуль 1003 обнаружения движения, модуль 1004 определения вариантов предикторов вектора движения, модуль 1005 определения предикторов вектора движения, модуль 1006 вычисления разности векторов движения, модуль 1007 компенсации движения, модуль 1008 пространственного прогнозирования, модуль 1009 определения способа прогнозирования, модуль 1010 вычитания, модуль 1011 ортогонального преобразования, модуль 1012 квантования, модуль 1013 энтропийного кодирования, модуль 1014 обратного квантования, модуль 1015 обратного ортогонального преобразования и модуль 1016 суммирования, являются идентичными функциям вышеуказанного узла 201 ввода, узла 202 обнаружения движения, узла 203 определения вариантов предикторов вектора движения, узла 204 определения предикторов вектора движения, узла 205 вычисления разности векторов движения, узла 206 компенсации движения, узла 208 пространственного прогнозирования, узла 209 определения способа прогнозирования, узла 210 вычитания, узла 211 ортогонального преобразования, узла 212 квантования, узла 213 энтропийного кодирования, узла 214 обратного квантования, узла 215 обратного ортогонального преобразования и узла 216 суммирования, соответственно.
[0147] Как показано на фиг. 12, программа 1100 декодирования видео содержит основной модуль 1101, чтобы, в общем, управлять обработкой, модуль 1102 энтропийного декодирования, модуль 1103 определения вариантов предикторов вектора движения, модуль 1104 определения предикторов вектора движения, модуль 1105 суммирования векторов движения, модуль 1106 компенсации движения, модуль 1107 пространственного прогнозирования, модуль 1108 определения способа прогнозирования, модуль 1109 обратного квантования, модуль 1110 обратного ортогонального преобразования и модуль 1111 суммирования. Функции, которые предписывают компьютеру реализовывать модуль 1102 энтропийного декодирования, модуль 1103 определения вариантов предикторов вектора движения, модуль 1104 определения предикторов вектора движения, модуль 1105 суммирования векторов движения, модуль 1106 компенсации движения, модуль 1107 пространственного прогнозирования, модуль 1108 определения способа прогнозирования, модуль 1109 обратного квантования, модуль 1110 обратного ортогонального преобразования и модуль 1111 суммирования, являются идентичными функциям вышеуказанного узла 301 энтропийного декодирования, узла 302 определения вариантов предикторов вектора движения, узла 303 определения предикторов вектора движения, узла 304 суммирования векторов движения, узла 305 компенсации движения, узла 307 пространственного прогнозирования, узла 308 определения способа прогнозирования, узла 309 обратного квантования, узла 310 обратного ортогонального преобразования и узла 311 суммирования, соответственно.
[0148] Выше описаны различные варианты осуществления, но настоящее изобретение может быть модифицировано множеством способов без ограничения вышеописанными вариантами осуществления. Например, в вышеописанных вариантах осуществления, кодированные данные разности векторов движения, представляющей собой разность между вектором движения целевого фрагмента и предиктором вектора движения (оптимальным предиктором вектора движения), передаются из устройства кодирования в устройство декодирования, но оптимальный предиктор вектора движения может приспосабливаться в качестве вектора движения целевого фрагмента без передачи кодированных данных разности векторов движения из устройства кодирования в устройство декодирования.
[0149] Вариант PMVX предиктора вектора движения может определяться следующим образом: прогнозированные сигналы изображений создаются с использованием вариантов PMVa и PMVb предикторов вектора движения, и вариант PMVX предиктора вектора движения, который должен приспосабливаться, является вариантом предиктора вектора движения, который задает меньшей сумму абсолютных разностей (SAD) между прогнозированным сигналом изображений и сигналом изображений целевого фрагмента, из вариантов PMVa и PMVb предикторов вектора движения. Вариант PMVY предиктора вектора движения может определяться следующим образом: прогнозированные сигналы изображений создаются с использованием вариантов PMVc и PMVd предикторов вектора движения, и вариант PMVY предиктора вектора движения, который должен приспосабливаться, является вариантом предиктора вектора движения, который задает меньшей сумму абсолютных разностей (SAD) между прогнозированным сигналом изображений и сигналом изображений целевого фрагмента, из вариантов PMVc и PMCd предикторов вектора движения. Кроме того, сумма абсолютных преобразованных разностей (SATD) или сумма квадратов разностей (SSD) может быть использована вместо SAD.
Список ссылочных позиций
[0150] 20 – устройство кодирования видео; 30 – устройство декодирования видео; 201 – узел ввода; 202 – узел обнаружения; 203 – узел определения вариантов предикторов вектора движения; 204 – узел определения предикторов вектора движения; 205 – узел вычисления разности векторов движения; 206 – узел компенсации движения; 207 – запоминающее устройство; 208 – узел пространственного прогнозирования; 209 – узел определения способа прогнозирования; 210 – узел вычитания; 211 – узел преобразования; 212 – узел квантования; 213 – узел энтропийного кодирования; 214 – узел обратного квантования; 215 – узел обратного преобразования; 216 – узел суммирования; 301 – узел энтропийного декодирования; 302 – узел определения вариантов предикторов вектора движения; 303 – узел определения предикторов вектора движения; 304 – узел суммирования векторов движения; 305 – узел компенсации движения; 306 – запоминающее устройство кадров; 307 – узел пространственного прогнозирования; 308 – узел определения способа прогнозирования; 309 – узел обратного квантования; 310 – узел обратного ортогонального преобразования; 311 – узел суммирования.
Claims (84)
1. Способ для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, содержащий:
этап определения вектора движения целевого фрагмента (BT) в кадровом изображении цели кодирования в видеопоследовательности;
этап определения первого варианта предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, причем первый вариант предиктора вектора движения определяется из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента (BT);
этап определения второго варианта предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, причем второй вариант предиктора вектора движения определяется из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента (BT);
этап выбора оптимального предиктора вектора движения и вывода информации индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения, при этом оптимальный предиктор вектора движения выбирается на основе сравнения между одним или более вариантами предиктора вектора движения, включающими в себя первый вариант предиктора вектора движения и второй вариант предиктора вектора движения, и вектором движения целевого фрагмента (BT); и
этап кодирования информации индикатора предиктора вектора движения, при этом соседняя слева область включает в себя соседний фрагмент, расположенный ниже и на левой стороне (BD) целевого фрагмента (BT);
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на правой стороне (BRA) целевого фрагмента (BT);
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на левой стороне (BЕ) целевого фрагмента (BT);
отличающийся тем, что
этап определения первого варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю слева область в направлении вверх снизу соседней слева области, и, тем самым, определение, как первого варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней слева области, и
тем, что этап определения второго варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю сверху область в направлении справа налево и тем самым определение, как второго варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней сверху области.
2. Способ по п. 1, в котором этап кодирования содержит кодирование информации индикатора предиктора вектора движения в кодированные данные с числом битов согласно числу вариантов предикторов вектора движения.
3. Способ по п. 2, в котором этап кодирования содержит кодирование информации индикатора предиктора вектора движения в кодированные данные с минимальным числом битов согласно числу вариантов предикторов вектора движения.
4. Способ по любому из пп. 1-3, в котором этап определения первого варианта предиктора вектора движения содержит определение информации индикатора первого направления сканирования, указывающей направление сканирования фрагментов, включенных в соседнюю слева область, для того чтобы определить первый вариант предиктора вектора движения,
при этом этап определения второго варианта предиктора вектора движения содержит определение информации индикатора второго направления сканирования, указывающей направление сканирования фрагментов, включенных в соседнюю сверху область, для того чтобы определить второй вариант предиктора вектора движения, и
при этом этап кодирования содержит дополнительное кодирование информации индикатора первого направления сканирования и информации индикатора второго направления сканирования.
5. Способ по любому из пп. 1-3, в котором число одного или более вариантов предикторов вектора движения не превышает 3.
6. Способ по любому из пп. 1-3, в котором без кодирования остаточного сигнала между вектором движения целевого фрагмента (BT) и оптимальным предиктором вектора движения, оптимальный предиктор вектора движения используется в качестве вектора движения целевого фрагмента (BT).
7. Способ по любому из пп. 1-3, в котором прогнозированный сигнал целевого фрагмента (BT) формируется посредством обращения к опорному кадру с номером кадра, указываемым посредством идентификационных данных списка опорных изображений и идентификационных данных опорного изображения;
при этом этап определения первого варианта предиктора вектора движения содержит определение первого варианта предиктора вектора движения из векторов движения фрагментов в соседней слева области, имеющей идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, совпадающие с идентификационными данными списка опорных изображений и/или идентификационными данными опорного изображения для целевого фрагмента (BT), и
при этом этап определения второго варианта предиктора вектора движения содержит определение второго варианта предиктора вектора движения из векторов движения фрагментов в соседней сверху области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, совпадающие с идентификационными данными списка опорных изображений и/или идентификационными данными опорного изображения для целевого фрагмента (BT).
8. Устройство для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, содержащее:
средство (202) обнаружения движения, выполненное с возможностью определять вектор движения целевого фрагмента (BT) в кадровом изображении цели кодирования в видеопоследовательности;
средство (203) определения первого варианта предиктора вектора движения, выполненное с возможностью определять первый вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, причем первый вариант предиктора вектора движения определяется из вектора движения или векторов движения фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента (BT);
средство (203) определения второго варианта предиктора вектора движения, выполненное с возможностью определять второй вариант предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, причем второй вариант предиктора вектора движения определяется из вектора движения или векторов движения фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента (BT);
средство (204) определения предиктора вектора движения, выполненное с возможностью выбирать оптимальный предиктор вектора движения и выводить информацию индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения, при этом оптимальный предиктор вектора движения выбирается на основе сравнения между одним или более вариантами предиктора вектора движения, включающими в себя первый вариант предиктора вектора движения и второй вариант предиктора вектора движения; и
средство (213) кодирования, выполненное с возможностью кодировать информацию индикатора предиктора вектора движения, при этом соседняя слева область включает в себя соседний фрагмент, расположенный ниже и на левой стороне (BD) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на правой стороне (BRA) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на левой стороне (BЕ) целевого фрагмента (BT);
отличающееся тем, что
этап определения первого варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю слева область в направлении вверх снизу соседней слева области и тем самым определение, как первого варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней слева области, и
тем, что этап определения второго варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю сверху область в направлении справа налево и тем самым определение, как второго варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней сверху области.
9. Носитель записи, содержащий программу для побуждения компьютера работать в качестве устройства для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, причем программа побуждает компьютер функционировать как:
средство (202) обнаружения движения, выполненное с возможностью определять вектор движения целевого фрагмента (BT) в кадровом изображении цели кодирования в видеопоследовательности;
средство определения первого варианта предиктора вектора движения, выполненное с возможностью определять первый вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, причем первый вариант предиктора вектора движения определяется из вектора движения или векторов движения фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента (BT);
средство (203) определения второго варианта предиктора вектора движения, выполненное с возможностью определять второй вариант предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, причем второй вариант предиктора вектора движения определяется из вектора движения или векторов движения фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента (BT);
средство (204) определения предиктора вектора движения, выполненное с возможностью выбирать оптимальный предиктор вектора движения и выводить информацию индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения, при этом оптимальный предиктор вектора движения выбирается на основе сравнения между одним или более вариантами предиктора вектора движения, включающими в себя первый вариант предиктора вектора движения и второй вариант предиктора вектора движения; и
средство (213) кодирования, выполненное с возможностью кодировать информацию индикатора предиктора вектора движения, при этом соседняя слева область включает в себя соседний фрагмент, расположенный ниже и на левой стороне (BD) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на правой стороне (BRA) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на левой стороне (BЕ) целевого фрагмента (BT);
отличающаяся тем, что
этап определения первого варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю слева область в направлении вверх снизу соседней слева области и тем самым определение, как первого варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней слева области, и
тем, что этап определения второго варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю сверху область в направлении справа налево и тем самым определение, как второго варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней сверху области.
10. Способ для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений, содержащий:
этап определения первого варианта предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, из вектора движения или векторов движения фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента (BT) в кадровом изображении цели декодирования;
этап определения второго варианта предиктора вектора движения, удовлетворяющего предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, из вектора движения или векторов движения фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента (BT);
этап декодирования кодированных данных, чтобы восстанавливать информацию индикатора предиктора вектора движения, указывающую оптимальный предиктор вектора движения для целевого фрагмента (BT); и
этап выбора оптимального предиктора вектора движения, указываемого посредством информации индикатора предиктора вектора движения, из одного или более вариантов предиктора вектора движения, включающих в себя, по меньшей мере, первый вариант предиктора вектора движения и второй вариант предиктора вектора движения, при этом соседняя слева область включает в себя соседний фрагмент, расположенный ниже и на левой стороне (BD) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на правой стороне (BRA) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на левой стороне (BЕ) целевого фрагмента (BT),
отличающийся тем, что
этап определения первого варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю слева область в направлении вверх снизу соседней слева области и тем самым определение, как первого варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней слева области, и
тем, что этап определения второго варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю сверху область в направлении справа налево, и, тем самым, определение, как второго варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней сверху области.
11. Способ по п. 10, в котором число битов кодированных данных в информации индикатора предиктора вектора движения является числом битов согласно числу вариантов предиктора вектора движения.
12. Способ по п. 11, в котором число битов кодированных данных в информации индикатора предиктора вектора движения является минимальным числом битов согласно числу вариантов предиктора вектора движения.
13. Способ по любому из пп. 10-12, в котором этап определения первого варианта предиктора вектора движения содержит этап декодирования кодированных данных, чтобы восстанавливать информацию индикатора первого направления сканирования, для указания направления сканирования фрагментов, включенных в соседнюю слева область,
при этом этап определения второго варианта предиктора вектора движения содержит этап декодирования кодированных данных, чтобы восстанавливать информацию индикатора второго направления сканирования, для указания направления сканирования фрагментов, включенных в соседнюю сверху область,
при этом этап определения первого варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю слева область, в направлении, указанном в информации индикатора первого направления сканирования для того, чтобы определить первый вариант предиктора вектора движения,
при этом этап определения второго варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю сверху область, в направлении, указанном в информации индикатора второго направления сканирования для того, чтобы определить второй вариант предиктора вектора движения.
14. Способ по любому из пп. 10-12, в котором число одного или более вариантов предикторов вектора движения не превышает 3.
15. Способ по любому из пп. 10-12, в котором оптимальный предиктор вектора движения используется в качестве вектора движения целевого фрагмента (BT).
16. Способ по любому из пп. 10-12, в котором прогнозированный сигнал целевого фрагмента (BT) формируется посредством обращения к опорному кадру с номером кадра, указываемым посредством идентификационных данных списка опорных изображений и идентификационных данных опорного изображения,
при этом этап определения первого варианта предиктора вектора движения содержит определение первого варианта предиктора вектора движения из векторов движения фрагментов в соседней слева области, имеющей идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, совпадающие с идентификационными данными списка опорных изображений и/или идентификационными данными опорного изображения для целевого фрагмента (BT), и
при этом этап определения второго варианта предиктора вектора движения содержит определение второго варианта предиктора вектора движения из векторов движения фрагментов в соседней сверху области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, совпадающие с идентификационными данными списка опорных изображений и/или идентификационными данными опорного изображения для целевого фрагмента (BT).
17. Устройство для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений, содержащее:
средство (203) определения первого варианта предиктора вектора движения, выполненное с возможностью определять первый вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, из вектора движения или векторов движения фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента (BT) в кадровом изображении цели декодирования;
средство (203) определения второго варианта предиктора вектора движения, выполненное с возможностью определять второй вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, из вектора движения или векторов движения фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента (BT);
средство декодирования, выполненное с возможностью декодировать кодированные данные, чтобы восстанавливать информацию индикатора предиктора вектора движения, указывающую оптимальный предиктор вектора движения для целевого фрагмента (BT); и
средство (204) определения оптимального предиктора вектора движения, выполненное с возможностью выбирать оптимальный предиктор вектора движения, указываемый посредством информации индикатора предиктора вектора движения, из одного или более вариантов предиктора вектора движения, включающих в себя, по меньшей мере, первый вариант предиктора вектора движения и второй вариант предиктора вектора движения, при этом соседняя слева область включает в себя соседний фрагмент, расположенный ниже и на левой стороне (BD) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на правой стороне (BRA) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на левой стороне (BЕ) целевого фрагмента (BT),
отличающееся тем, что
этап определения первого варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю слева область в направлении вверх снизу соседней слева области и тем самым определение, как первого варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней слева области, и
тем, что этап определения второго варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю сверху область в направлении справа налево и тем самым определение, как второго варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней сверху области.
18. Носитель записи, содержащий программу для побуждения компьютера работать в качестве устройства для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений, причем программа побуждает компьютер функционировать как:
средство (203) определения первого варианта предиктора вектора движения, выполненное с возможностью определять первый вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, из вектора движения или векторов движения фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента (BT) в кадровом изображении цели декодирования;
средство (203) определения второго варианта предиктора вектора движения, выполненное с возможностью определять второй вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предиктора вектора движения, из вектора движения или векторов движения фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента (BT);
средство декодирования, выполненное с возможностью декодировать кодированные данные, чтобы восстанавливать информацию индикатора предиктора вектора движения, указывающую оптимальный предиктор вектора движения для целевого фрагмента (BT); и
средство (204) определения оптимального предиктора вектора движения, выполненное с возможностью выбирать оптимальный предиктор вектора движения, указываемый посредством информации индикатора предиктора вектора движения, из одного или более вариантов предиктора вектора движения, включающих в себя, по меньшей мере, первый вариант предиктора вектора движения и второй вариант предиктора вектора движения, при этом соседняя слева область включает в себя соседний фрагмент, расположенный ниже и на левой стороне (BD) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на правой стороне (BRA) целевого фрагмента (BT),
при этом соседняя сверху область включает в себя соседний фрагмент, расположенный выше и на левой стороне (BЕ) целевого фрагмента (BT),
отличающаяся тем, что
этап определения первого варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю слева область в направлении вверх снизу соседней слева области и тем самым определение, как первого варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней слева области, и
тем, что этап определения второго варианта предиктора вектора движения содержит сканирование фрагментов, включенных в соседнюю сверху область в направлении справа налево и тем самым определение, как второго варианта предиктора вектора движения, вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения из фрагментов, принадлежащих соседней сверху области.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-002205 | 2011-01-07 | ||
JP2011002205 | 2011-01-07 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018144329A Division RU2697738C1 (ru) | 2011-01-07 | 2018-12-14 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020127723A Division RU2744696C1 (ru) | 2011-01-07 | 2020-08-20 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2731026C1 true RU2731026C1 (ru) | 2020-08-28 |
Family
ID=46457445
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016105127A RU2649770C1 (ru) | 2011-01-07 | 2011-12-20 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2013136900/08A RU2580090C2 (ru) | 2011-01-07 | 2011-12-20 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2018110357A RU2676245C1 (ru) | 2011-01-07 | 2018-03-23 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2018144328A RU2699404C1 (ru) | 2011-01-07 | 2018-12-14 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2018144329A RU2697738C1 (ru) | 2011-01-07 | 2018-12-14 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2019124708A RU2731026C1 (ru) | 2011-01-07 | 2019-08-05 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2020127723A RU2744696C1 (ru) | 2011-01-07 | 2020-08-20 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016105127A RU2649770C1 (ru) | 2011-01-07 | 2011-12-20 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2013136900/08A RU2580090C2 (ru) | 2011-01-07 | 2011-12-20 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2018110357A RU2676245C1 (ru) | 2011-01-07 | 2018-03-23 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2018144328A RU2699404C1 (ru) | 2011-01-07 | 2018-12-14 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
RU2018144329A RU2697738C1 (ru) | 2011-01-07 | 2018-12-14 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020127723A RU2744696C1 (ru) | 2011-01-07 | 2020-08-20 | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения |
Country Status (19)
Country | Link |
---|---|
US (5) | US9693052B2 (ru) |
EP (6) | EP2938082B1 (ru) |
JP (5) | JP5698767B2 (ru) |
KR (6) | KR102066543B1 (ru) |
CN (5) | CN103283235B (ru) |
AU (1) | AU2011353904B2 (ru) |
BR (1) | BR112013017208B1 (ru) |
CA (4) | CA3079646C (ru) |
DK (2) | DK3826306T3 (ru) |
ES (4) | ES2622732T3 (ru) |
FI (2) | FI3826306T3 (ru) |
HU (2) | HUE061239T2 (ru) |
MX (4) | MX352533B (ru) |
PL (4) | PL3826306T3 (ru) |
PT (4) | PT3826306T (ru) |
RU (7) | RU2649770C1 (ru) |
SG (1) | SG191232A1 (ru) |
TW (3) | TWI621352B (ru) |
WO (1) | WO2012093585A1 (ru) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101456499B1 (ko) * | 2010-07-09 | 2014-11-03 | 삼성전자주식회사 | 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
US9300970B2 (en) | 2010-07-09 | 2016-03-29 | Samsung Electronics Co., Ltd. | Methods and apparatuses for encoding and decoding motion vector |
EP2938082B1 (en) | 2011-01-07 | 2017-03-22 | Ntt Docomo, Inc. | Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and predictive decoding method, predictive decoding device, and predictive decoding program of motion vector |
US9319716B2 (en) | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
KR102232113B1 (ko) | 2011-03-21 | 2021-03-25 | 엘지전자 주식회사 | 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치 |
PL3879831T3 (pl) | 2011-05-31 | 2024-07-29 | Jvckenwood Corporation | Urządzenie do kodowania ruchomego obrazu wizyjnego, sposób kodowania ruchomego obrazu wizyjnego i program do kodowania ruchomego obrazu wizyjnego, a także urządzenie do dekodowania ruchomego obrazu wizyjnego, sposób dekodowania ruchomego obrazu wizyjnego i program do dekodowania ruchomego obrazu wizyjnego |
PL2728878T3 (pl) * | 2011-06-30 | 2020-06-15 | Sun Patent Trust | Sposób dekodowania obrazów, sposób kodowania obrazów, urządzenie do dekodowania obrazów, urządzenie do kodowania obrazów oraz urządzenie do kodowania/dekodowania obrazów |
JP2013098711A (ja) * | 2011-10-31 | 2013-05-20 | Mitsubishi Electric Corp | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
CN103079067B (zh) * | 2013-01-09 | 2016-03-09 | 华为技术有限公司 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
US9300906B2 (en) * | 2013-03-29 | 2016-03-29 | Google Inc. | Pull frame interpolation |
TWI536811B (zh) * | 2013-12-27 | 2016-06-01 | 財團法人工業技術研究院 | 影像處理方法與系統、解碼方法、編碼器與解碼器 |
KR101944683B1 (ko) | 2017-02-21 | 2019-04-17 | (주)제이하우스 | 아틀리에 클러스터 건물구조 |
CN108810531B (zh) * | 2017-05-03 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 视频编码处理方法、装置及电子设备 |
US10356439B2 (en) * | 2017-06-29 | 2019-07-16 | Intel Corporation | Flexible frame referencing for display transport |
WO2019049912A1 (ja) * | 2017-09-08 | 2019-03-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
CN109963155B (zh) | 2017-12-23 | 2023-06-06 | 华为技术有限公司 | 图像块的运动信息的预测方法、装置及编解码器 |
MX2021002557A (es) * | 2018-09-07 | 2021-04-29 | Panasonic Ip Corp America | Sistema y metodo para codificacion de video. |
JP7288964B2 (ja) | 2018-12-28 | 2023-06-08 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 動きベクトル予測因子リストを生成すること |
CN113647105B (zh) * | 2019-01-28 | 2024-08-27 | Op方案有限责任公司 | 指数分区的帧间预测 |
US11375243B2 (en) * | 2019-07-17 | 2022-06-28 | Tencent America LLC | Method and apparatus for video coding |
KR20210039553A (ko) | 2019-10-02 | 2021-04-12 | 주식회사 디맥스 | 치과용 지르코니아 소재의 표면 처리방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2310231C2 (ru) * | 2002-06-03 | 2007-11-10 | Майкрософт Корпорейшн | Пространственно-временное прогнозирование для двунаправлено прогнозируемых (в) изображений и прогнозирование вектора движения для компенсации движения множественных изображений с помощью эталона |
US20080043842A1 (en) * | 2006-08-17 | 2008-02-21 | Fujitsu Limited | Interframe prediction processor with address management mechanism for motion vector storage |
WO2008054176A1 (en) * | 2006-11-03 | 2008-05-08 | Samsung Electronics Co., Ltd. | Method and apparatus for video predictive encoding and method and apparatus for video predictive decoding |
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 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2703802A1 (fr) * | 1993-04-07 | 1994-10-14 | Philips Electronique Lab | Dispositif d'estimation de mouvement entre des images successives d'une séquence d'images animées subdivisées en blocs bidimensionnels d'éléments d'image. |
DE69424909T2 (de) | 1993-04-09 | 2000-12-14 | Sony Corp., Tokio/Tokyo | Verfahren und vorrichtung zur bildkodierung |
KR100523908B1 (ko) * | 1997-12-12 | 2006-01-27 | 주식회사 팬택앤큐리텔 | 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법 |
JP2005223631A (ja) | 2004-02-05 | 2005-08-18 | Sony Corp | データ処理装置およびその方法と符号化装置および復号装置 |
JP4543971B2 (ja) * | 2005-03-07 | 2010-09-15 | ソニー株式会社 | 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体 |
CN101622877A (zh) * | 2006-12-22 | 2010-01-06 | 高通股份有限公司 | 用于有效空间帧内可预测性确定(或评估)的系统和方法 |
US8331448B2 (en) * | 2006-12-22 | 2012-12-11 | Qualcomm Incorporated | Systems and methods for efficient spatial intra predictabilty determination (or assessment) |
KR101365574B1 (ko) * | 2007-01-29 | 2014-02-20 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 복호화 방법 및 장치 |
US8619853B2 (en) * | 2007-06-15 | 2013-12-31 | Qualcomm Incorporated | Separable directional transforms |
US8908765B2 (en) * | 2007-11-15 | 2014-12-09 | General Instrument Corporation | Method and apparatus for performing motion estimation |
JP5194833B2 (ja) * | 2008-01-23 | 2013-05-08 | ソニー株式会社 | 符号化装置および方法、記録媒体、並びにプログラム |
US8098957B2 (en) * | 2008-02-13 | 2012-01-17 | Qualcomm Incorporated | Shared block comparison architechture for image registration and video coding |
US8385404B2 (en) * | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
JP5401071B2 (ja) * | 2008-10-09 | 2014-01-29 | 株式会社Nttドコモ | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法 |
EP3678374A1 (fr) | 2009-07-03 | 2020-07-08 | Orange | Prédiction d'un vecteur mouvement d'une partition d'image courante de forme géometrique ou de taille différente de celle d'au moins une partition d'image de référence voisine, codage et decodage utilisant une telle prediction |
KR20120016991A (ko) * | 2010-08-17 | 2012-02-27 | 오수미 | 인터 프리딕션 방법 |
US9137544B2 (en) * | 2010-11-29 | 2015-09-15 | Mediatek Inc. | Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes |
EP2938082B1 (en) | 2011-01-07 | 2017-03-22 | Ntt Docomo, Inc. | Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and predictive decoding method, predictive decoding device, and predictive decoding program of motion vector |
-
2011
- 2011-12-20 EP EP15166363.0A patent/EP2938082B1/en active Active
- 2011-12-20 KR KR1020187034107A patent/KR102066543B1/ko active IP Right Grant
- 2011-12-20 ES ES15166363.0T patent/ES2622732T3/es active Active
- 2011-12-20 KR KR1020167007353A patent/KR101672790B1/ko active IP Right Grant
- 2011-12-20 CN CN201180064343.9A patent/CN103283235B/zh active Active
- 2011-12-20 PT PT202178083T patent/PT3826306T/pt unknown
- 2011-12-20 ES ES20217808T patent/ES2936314T3/es active Active
- 2011-12-20 DK DK20217808.3T patent/DK3826306T3/da active
- 2011-12-20 PL PL20217808.3T patent/PL3826306T3/pl unknown
- 2011-12-20 CN CN201610857048.3A patent/CN106878741B/zh active Active
- 2011-12-20 JP JP2012551827A patent/JP5698767B2/ja active Active
- 2011-12-20 PL PL15166363T patent/PL2938082T3/pl unknown
- 2011-12-20 CN CN201610299505.1A patent/CN105812820B/zh active Active
- 2011-12-20 EP EP22194613.0A patent/EP4120686B1/en active Active
- 2011-12-20 CA CA3079646A patent/CA3079646C/en active Active
- 2011-12-20 CA CA3167001A patent/CA3167001A1/en active Pending
- 2011-12-20 CN CN201610299506.6A patent/CN105812821B/zh active Active
- 2011-12-20 PL PL11855027T patent/PL2663077T3/pl unknown
- 2011-12-20 HU HUE20217808A patent/HUE061239T2/hu unknown
- 2011-12-20 KR KR1020207000716A patent/KR102165666B1/ko active IP Right Grant
- 2011-12-20 FI FIEP20217808.3T patent/FI3826306T3/fi active
- 2011-12-20 RU RU2016105127A patent/RU2649770C1/ru active
- 2011-12-20 AU AU2011353904A patent/AU2011353904B2/en active Active
- 2011-12-20 DK DK22194613.0T patent/DK4120686T3/da active
- 2011-12-20 CA CA2823880A patent/CA2823880C/en active Active
- 2011-12-20 KR KR1020137015618A patent/KR20140011475A/ko active Application Filing
- 2011-12-20 MX MX2016007235A patent/MX352533B/es unknown
- 2011-12-20 PT PT221946130T patent/PT4120686T/pt unknown
- 2011-12-20 PT PT151663630T patent/PT2938082T/pt unknown
- 2011-12-20 ES ES22194613T patent/ES2957772T3/es active Active
- 2011-12-20 ES ES11855027.6T patent/ES2614821T3/es active Active
- 2011-12-20 BR BR112013017208-8A patent/BR112013017208B1/pt active IP Right Grant
- 2011-12-20 CN CN201610301019.9A patent/CN105791857B/zh active Active
- 2011-12-20 KR KR1020177034131A patent/KR101931276B1/ko active IP Right Grant
- 2011-12-20 HU HUE22194613A patent/HUE063372T2/hu unknown
- 2011-12-20 FI FIEP22194613.0T patent/FI4120686T3/fi active
- 2011-12-20 MX MX2013007540A patent/MX2013007540A/es active IP Right Grant
- 2011-12-20 PL PL22194613.0T patent/PL4120686T3/pl unknown
- 2011-12-20 RU RU2013136900/08A patent/RU2580090C2/ru active
- 2011-12-20 PT PT118550276T patent/PT2663077T/pt unknown
- 2011-12-20 MX MX2015015364A patent/MX339663B/es unknown
- 2011-12-20 WO PCT/JP2011/079540 patent/WO2012093585A1/ja active Application Filing
- 2011-12-20 CA CA2933341A patent/CA2933341C/en active Active
- 2011-12-20 EP EP20217808.3A patent/EP3826306B1/en active Active
- 2011-12-20 EP EP11855027.6A patent/EP2663077B1/en active Active
- 2011-12-20 SG SG2013046958A patent/SG191232A1/en unknown
- 2011-12-20 EP EP15165896.0A patent/EP2938081A1/en not_active Ceased
- 2011-12-20 EP EP22194608.0A patent/EP4120685B1/en active Active
- 2011-12-20 KR KR1020167018745A patent/KR101803886B1/ko active IP Right Grant
-
2012
- 2012-01-02 TW TW105129816A patent/TWI621352B/zh active
- 2012-01-02 TW TW107102973A patent/TWI660623B/zh active
- 2012-01-02 TW TW101100049A patent/TW201244499A/zh unknown
-
2013
- 2013-06-27 MX MX2020001492A patent/MX2020001492A/es unknown
- 2013-07-05 US US13/936,005 patent/US9693052B2/en active Active
-
2015
- 2015-02-13 JP JP2015026825A patent/JP5859691B2/ja active Active
- 2015-12-16 JP JP2015245384A patent/JP6099729B2/ja active Active
-
2016
- 2016-12-09 US US15/374,929 patent/US9877040B2/en active Active
-
2017
- 2017-01-31 JP JP2017015603A patent/JP6246962B2/ja active Active
- 2017-11-15 JP JP2017219846A patent/JP6411615B2/ja active Active
-
2018
- 2018-01-16 US US15/872,932 patent/US10154280B2/en active Active
- 2018-03-23 RU RU2018110357A patent/RU2676245C1/ru active
- 2018-11-07 US US16/183,399 patent/US10511855B2/en active Active
- 2018-11-07 US US16/183,409 patent/US10511856B2/en active Active
- 2018-12-14 RU RU2018144328A patent/RU2699404C1/ru active
- 2018-12-14 RU RU2018144329A patent/RU2697738C1/ru active
-
2019
- 2019-08-05 RU RU2019124708A patent/RU2731026C1/ru active
-
2020
- 2020-08-20 RU RU2020127723A patent/RU2744696C1/ru active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2310231C2 (ru) * | 2002-06-03 | 2007-11-10 | Майкрософт Корпорейшн | Пространственно-временное прогнозирование для двунаправлено прогнозируемых (в) изображений и прогнозирование вектора движения для компенсации движения множественных изображений с помощью эталона |
US20080043842A1 (en) * | 2006-08-17 | 2008-02-21 | Fujitsu Limited | Interframe prediction processor with address management mechanism for motion vector storage |
WO2008054176A1 (en) * | 2006-11-03 | 2008-05-08 | Samsung Electronics Co., Ltd. | Method and apparatus for video predictive encoding and method and apparatus for video predictive decoding |
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 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2731026C1 (ru) | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения | |
AU2018267557B2 (en) | Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector |