Способ и устройство для определения вектора движения в кодировании или декодировании видео
Иллюстрации
Показать всеИзобретение относится к области кодирования и декодирования видео. Технический результат - повышение эффективности обработки предсказания вектора движения. Устройство для декодирования изображения содержит: блок сравнения опорных картинок для определения, являются ли и опорная картинка блока-кандидата, и опорная картинка текущего блока долгосрочными опорными картинками, причем блок-кандидат является одним из числа множества блоков-кандидатов, смежных с текущим блоком; и определитель вектора движения для, когда и опорная картинка блока-кандидата, и опорная картинка текущего блока являются долгосрочными опорными картинками, получения кандидата для предсказания пространственного вектора движения, не масштабируя вектор движения блока-кандидата, когда и опорная картинка текущего блока, и опорная картинка блока-кандидата являются различными краткосрочными опорными картинками, получения кандидата для предсказания пространственного вектора движения посредством масштабирования вектора движения блока-кандидата, определения предсказания вектора движения текущего блока из числа кандидатов для предсказания вектора движения и формирования вектора движения текущего блока посредством использования предсказания вектора движения. 28 ил., 1 табл.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к кодированию и декодированию видео, и более конкретно, к кодированию и декодированию видео, в которых выполняется внешнее предсказание и/или компенсация движения.
УРОВЕНЬ ТЕХНИКИ
Так как разрабатывается и предоставляется аппаратное обеспечение для воспроизведения и хранения видеоконтента высокого разрешения или высокого качества, возрастает необходимость в видеокодеке для эффективного кодирования или декодирования видеоконтента высокого разрешения или высокого качества. Согласно стандартному видеокодеку, видео кодируется согласно ограниченному способу кодирования на основе макроблока, имеющего предварительно определенный размер.
Данные изображения пространственной области преобразовываются в коэффициенты частотной области посредством частотного преобразования. Согласно видеокодеку, изображение разделяется на блоки, имеющие предварительно определенный размер, для каждого соответствующего блока выполняется дискретное косинусное преобразование (DCT), и частотные коэффициенты кодируются в единицах блоков, для быстрого вычисления частотного преобразования. По сравнению с данными изображения пространственной области, коэффициенты частотной области легко сжимаются. В частности, так как значение пикселя изображения пространственной области выражается согласно ошибке предсказания посредством внешнего предсказания или внутреннего предсказания видеокодека, когда частотное преобразование выполняется над ошибкой предсказания, большой объем данных может преобразовываться в 0. Согласно видеокодеку, объем данных может уменьшаться посредством замены данных, которые последовательно и повторно генерируются, на данные малого размера.
Согласно кодированию многоракурсного видео, видео базового ракурса и одно или более видео дополнительного ракурса кодируются и декодируются. Посредством удаления временной/пространственной избыточности между видео базового ракурса и видео дополнительного ракурса и избыточности между ракурсами, объем данных видео базового ракурса и видео дополнительного ракурса может уменьшаться.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
Настоящее изобретение обеспечивает способ и устройство определения вектора движения, выполняемый посредством предсказания вектора движения, способ и устройство для кодирования видео посредством выполнения внешнего предсказания и компенсации движения посредством предсказания вектора движения, и способ и устройство для декодирования видео посредством выполнения компенсации движения посредством предсказания вектора движения.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
Согласно одному аспекту согласно настоящему изобретению, обеспечивается способ определения вектора движения для внешнего предсказания, при этом способ определения вектора движения включает в себя операции определения списка векторов движения-кандидатов, содержащего векторы движения множества блоков-кандидатов, на которые ссылаются, чтобы предсказывать вектор движения текущего блока; когда опорное изображение первого блока-кандидата из числа множества блоков-кандидатов отличается от опорного изображения текущего блока, определение того, использовать ли или нет вектор движения первого блока-кандидата из списка векторов движения-кандидатов, на основе того, является ли каждое из опорного изображения текущего блока и опорного изображения первого блока-кандидата краткосрочным опорным изображением или долгосрочным опорным изображением; и определение вектора движения текущего блока посредством использования вектора движения-кандидата, выбранного из числа векторов движения, содержащихся в списке векторов движения-кандидатов.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
Когда выполняется способ определения вектора движения согласно одному или более вариантам осуществления настоящего изобретения, в случае, когда опорное изображение, указанное посредством опорного индекса блока-кандидата, отличается от опорного изображения текущего блока, и, по меньшей мере, одно из опорных изображений текущего блока и блока-кандидата является долгосрочным опорным изображением, является возможным пропускать обработку масштабирования размера вектора движения блока-кандидата или обработку обеспечения ссылки на вектор движения блока-кандидата, и является возможным управлять текущим блоком, чтобы ссылаться на вектор движения другого блока-кандидата, имеющего относительно высокую точность предсказания, посредством чего эффективность обработки предсказания вектора движения может улучшаться.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
ФИГ. 1 является блок-схемой устройства определения вектора движения согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 2 является блок-схемой последовательности операций способа определения вектора движения, согласно одному варианту осуществления настоящего изобретения.
Фиг. 3 иллюстрирует пример, в котором блок-кандидат является совместно размещенным блоком другого изображения, согласно одному варианту осуществления настоящего изобретения.
Фиг. 4 иллюстрирует пример, в котором блок-кандидат является соседним блоком того же изображения, согласно одному варианту осуществления настоящего изобретения.
Фиг. 5 является блок-схемой последовательности операций способа кодирования видео, включающего в себя способ определения вектора движения, согласно одному варианту осуществления настоящего изобретения.
Фиг. 6 является блок-схемой последовательности операций способа декодирования видео, включающего в себя способ определения вектора движения, согласно одному варианту осуществления настоящего изобретения.
Фиг. 7 является блок-схемой блока кодирования видео, включающего в себя устройство определения вектора движения, согласно одному варианту осуществления настоящего изобретения.
Фиг. 8 является блок-схемой блока декодирования видео, включающего в себя устройство определения вектора движения, согласно одному варианту осуществления настоящего изобретения.
Фиг. 9 является блок-схемой устройства кодирования видео на основе единицы кодирования согласно древовидной структуре, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 10 является блок-схемой устройства декодирования видео на основе единицы кодирования согласно древовидной структуре, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 11 является диаграммой для описания концепции единиц кодирования согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 12 является блок-схемой кодера изображений на основе единиц кодирования, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 13 является блок-схемой декодера изображений на основе единиц кодирования, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 14 является диаграммой, иллюстрирующей более глубокие единицы кодирования согласно глубинам, и фрагменты, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 15 является диаграммой для описания отношения между единицей кодирования и единицами преобразования, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 16 является диаграммой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 17 является диаграммой более глубоких единиц кодирования согласно глубинам, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 18 по 20 являются диаграммами для описания отношения между единицами кодирования, единицами предсказания и единицами преобразования, согласно одному варианту осуществления согласно настоящему изобретению.
Фиг. 21 является диаграммой для описания отношения между единицей кодирования, единицей предсказания или фрагментом, и единицей преобразования, согласно информации режима кодирования из Таблицы 1.
Фиг. 22 иллюстрирует физическую структуру диска, который хранит программу, согласно одному варианту осуществления настоящего изобретения.
Фиг. 23 иллюстрирует привод диска, который записывает и считывает программу посредством использования диска.
Фиг. 24 иллюстрирует полную структуру системы предоставления контента, которая обеспечивает службу распределения контента.
Фиг. 25 и 26 иллюстрируют внешнюю и внутреннюю структуры мобильного телефона, к которому применяются способ кодирования видео и способ декодирования видео, согласно вариантам осуществления настоящего изобретения.
Фиг. 27 иллюстрирует систему цифрового широковещания, применяющую систему связи, согласно одному варианту осуществления настоящего изобретения.
Фиг. 28 иллюстрирует сетевую структуру облачной вычислительной системы, использующей устройство кодирования видео и устройство декодирования видео, согласно одному варианту осуществления настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
НАИЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Согласно одному аспекту согласно настоящему изобретению, обеспечивается способ определения вектора движения для внешнего предсказания, при этом способ определения вектора движения включает в себя операции определения списка векторов движения-кандидатов, содержащего векторы движения множества блоков-кандидатов, на которые ссылаются, чтобы предсказывать вектор движения текущего блока; когда опорное изображение первого блока-кандидата из числа множества блоков-кандидатов отличается от опорного изображения текущего блока, определения того, использовать ли или нет вектор движения первого блока-кандидата из списка векторов движения-кандидатов, на основе того, является ли каждое из опорного изображения текущего блока и опорного изображения первого блока-кандидата краткосрочным опорным изображением или долгосрочным опорным изображением; и определения вектора движения текущего блока посредством использования вектора движения-кандидата, выбранного из числа векторов движения, содержащихся в списке векторов движения-кандидатов.
Первый блок-кандидат может быть соседним блоком текущего блока в текущем изображении текущего блока или может быть совместно размещенным блоком в том же положении, что и текущий блок в изображении, которое восстанавливается ранее, чем текущее изображение.
Когда все из опорного изображения текущего блока и опорного изображения первого блока-кандидата являются долгосрочными опорными изображениями, операция определения того, использовать ли или нет вектор движения, может включать в себя операцию поддержания вектора движения первого блока-кандидата в списке векторов движения-кандидатов.
Когда одно из опорного изображения текущего блока и опорного изображения первого блока-кандидата является краткосрочным опорным изображением, и другое одно из опорного изображения текущего блока и опорного изображения первого блока-кандидата является долгосрочным опорным изображением, операция определения того, использовать ли или нет вектор движения, может включать в себя операцию определения не использовать вектор движения первого блока-кандидата в списке векторов движения-кандидатов.
Согласно другому аспекту согласно настоящему изобретению, обеспечивается устройство определения вектора движения для внешнего предсказания, при этом устройство определения вектора движения включает в себя блок определения списка кандидатов для определения списка векторов движения-кандидатов, содержащего векторы движения множества блоков-кандидатов, на которые ссылаются, чтобы предсказывать вектор движения текущего блока, и когда опорное изображение первого блока-кандидата из числа множества блоков-кандидатов отличается от опорного изображения текущего блока, для определения того, использовать ли или нет вектор движения первого блока-кандидата из списка векторов движения-кандидатов, на основе того, является ли каждое из опорного изображения текущего блока и опорного изображения первого блока-кандидата краткосрочным опорным изображением или долгосрочным опорным изображением; и блок определения вектора движения для определения вектора движения текущего блока посредством использования вектора движения-кандидата, выбранного из числа векторов движения, содержащихся в списке векторов движения-кандидатов.
Согласно другому аспекту согласно настоящему изобретению, обеспечивается машиночитаемый записывающий носитель, имеющий записанную на нем компьютерную программу для исполнения способа определения вектора движения.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В дальнейшем, устройство 10 определения вектора движения и способ определения вектора движения будут описываться со ссылкой на фиг. 1 по 4. Также, способы и устройства для кодирования и декодирования видео посредством выполнения способа определения вектора движения будут описываться со ссылкой на фиг. 5 и 8. В дополнение, схемы кодирования и декодирования видео, включающие в себя способ определения вектора движения, на основе единиц кодирования, имеющих древовидную структуру, будут описываться со ссылкой на фиг. 9 по 21. В дальнейшем, признак 'изображение' может указывать на неподвижное изображение или движущуюся картинку, то есть, само видео.
Сначала, устройство 10 определения вектора движения и способ определения вектора движения будут описываться со ссылкой на фиг. 1 по 4. Также, способы и устройства для кодирования и декодирования видео посредством выполнения способа определения вектора движения будут описываться со ссылкой на фиг. 5 и 8.
Фиг. 1 является блок-схемой устройства 10 определения вектора движения согласно одному варианту осуществления согласно настоящему изобретению.
Устройство 10 определения вектора движения включает в себя блок 12 определения списка кандидатов и блок 14 определения вектора движения.
Внешнее предсказание выполняется посредством использования сходства между текущим изображением и другим изображением. В опорном изображении, которое восстанавливается ранее, чем текущее изображение, обнаруживается опорная область, которая является сходной с текущей областью текущего изображения. Расстояние между координатами текущей области и опорной области представляется как вектор движения, и разность между значениями пикселей текущей области и опорной области представляется как остаточные данные. Таким образом, посредством выполнения внешнего предсказания над текущей областью, является возможным выводить индекс, указывающий опорное изображение, вектор движения, и остаточные данные, вместо прямого вывода информации изображения о текущей области.
Устройство 10 определения вектора движения может выполнять внешнее предсказание над каждым видеоизображением для каждого соответствующего блока. Блок может иметь квадратную форму, прямоугольную форму, или любую геометрическую форму и не ограничен единицей данных, имеющей предварительно определенный размер. Согласно одному варианту осуществления согласно настоящему изобретению, блок может быть максимальной единицей кодирования, единицей кодирования, единицей предсказания, единицей преобразования или подобным из числа единиц кодирования согласно древовидной структуре. Способы кодирования и декодирования видео на основе единиц кодирования согласно древовидной структуре будут описываться ниже со ссылкой на фиг. 9 по 21.
Опорное изображение, которое используется во внешнем предсказании текущего изображения должно быть изображением, которое декодируется ранее, чем текущее изображение. В настоящем варианте осуществления, опорное изображение для внешнего предсказания может классифицироваться в краткосрочное опорное изображение и долгосрочное опорное изображение. Буфер декодированных картинок (DPB (не показан)) хранит восстановленные изображения, которые генерируются посредством компенсации движения над предыдущими изображениями. Восстановленные изображения, которые сгенерированы ранее, могут использоваться в качестве опорного изображения для внешнего предсказания других изображений. Таким образом, чтобы выполнять внешнее предсказание текущего изображения, по меньшей мере, одно краткосрочное опорное изображение или, по меньшей мере, одно долгосрочное опорное изображение может выбираться из восстановленных изображений, сохраненных в буфере декодированных картинок. Краткосрочное опорное изображение может быть изображением, которое было только что или недавно декодировано в порядке декодирования, включая текущее изображение, тогда как долгосрочное опорное изображение может быть изображением, которое было декодировано намного ранее, чем текущее изображение, выбрано, чтобы использоваться в качестве опорного изображения для внешнего предсказания других изображений, и, таким образом, сохранено в буфере декодированных картинок.
Для предсказания вектора движения, слияния PU, или улучшенного предсказания вектора движения (AMVP), предсказание вектора движения текущего блока может определяться посредством ссылки на вектор движения другого блока.
Устройство 10 определения вектора движения может определять вектор движения посредством ссылки на вектор движения другого блока, который является по времени или пространственно смежным с текущим блоком. Устройство 10 определения вектора движения может определять список векторов движения-кандидатов, включающий в себя множество векторов движения блоков-кандидатов, которые могут становиться опорными целями для вектора движения текущего блока. Устройство 10 определения вектора движения может определять вектор движения текущего блока посредством ссылки на вектор движения, выбранный из списка векторов движения-кандидатов.
В настоящем варианте осуществления, блок-кандидат может указывать соседний блок текущего блока в текущем изображении или может быть совместно размещенным блоком, который находится в том же положении, что и текущий блок в изображении, восстановленном ранее, чем текущее изображение.
Блок 12 определения списка кандидатов может масштабировать размеры векторов движения-кандидатов, которые удовлетворяют предварительно определенному условию и которые находятся в списке векторов движения-кандидатов, включающем в себя векторы движения блоков-кандидатов, на которые ссылаются для предсказания вектора движения текущего блока, или может исключать векторы движения-кандидаты из списка векторов движения-кандидатов.
Когда опорное изображение первого блока-кандидата из числа блоков-кандидатов, включенных в список векторов движения-кандидатов, отличается от опорного изображения текущего блока, блок 12 определения списка кандидатов может определять, является ли каждое из опорного изображения текущего блока и опорного изображения первого блока-кандидата краткосрочным опорным изображением или долгосрочным опорным изображением. Блок 12 определения списка кандидатов может определять то, как использовать вектор движения первого блока-кандидата в списке векторов движения-кандидатов, на основе того, является ли каждое из опорного изображения текущего блока и опорного изображения первого блока-кандидата краткосрочным опорным изображением или долгосрочным опорным изображением.
Когда все из опорного изображения текущего блока и опорного изображения первого блока-кандидата являются долгосрочными опорными изображениями, блок 12 определения списка кандидатов может поддерживать вектор движения первого блока-кандидата в списке векторов движения-кандидатов. То есть, первый блок-кандидат может включаться в список векторов движения-кандидатов, в то время как размер вектора движения первого блока-кандидата не масштабируется.
Когда одно из опорного изображения текущего блока и опорного изображения первого блока-кандидата является краткосрочным опорным изображением, и другое одно из опорного изображения текущего блока и опорного изображения первого блока-кандидата является долгосрочным опорным изображением, блок 12 определения списка кандидатов может определять не использовать вектор движения первого блока-кандидата в списке векторов движения-кандидатов. Затем, вектор движения первого блока-кандидата может объявляться как неиспользуемый вектор движения.
Когда все из опорного изображения текущего блока и опорного изображения первого блока-кандидата являются краткосрочными опорными изображениями, блок 12 определения списка кандидатов может масштабировать размер вектора движения первого блока-кандидата и может включать масштабированный вектор движения первого блока-кандидата в список векторов движения-кандидатов. В этом случае, блок 12 определения списка кандидатов может масштабировать размер вектора движения первого блока-кандидата на основе отношения расстояния между текущим изображением и опорным изображением текущего блока к расстоянию между изображением первого блока-кандидата и опорным изображением первого блока-кандидата, и может обновлять значение вектора движения первого блока-кандидата как масштабированное значение в списке векторов движения-кандидатов.
Блок 14 определения вектора движения может выбирать вектор движения-кандидат из векторов движения, включенных в список векторов движения-кандидатов, и может определять вектор движения текущего блока посредством использования выбранного вектора движения-кандидата. Блок 14 определения вектора движения может определять вектор движения текущего блока посредством дублирования вектора движения-кандидата без изменения или посредством модификации вектора движения-кандидата.
Фиг. 2 является блок-схемой последовательности операций способа определения вектора движения, согласно одному варианту осуществления настоящего изобретения.
Устройство 10 определения вектора движения может предсказывать вектор движения текущего блока посредством использования вектора движения блока, который является по времени или пространственно близким к текущему блоку. Также, устройство 10 определения вектора движения может определять множество блоков-кандидатов, имеющих предсказуемые векторы движения, может выбирать блок-кандидат из числа блоков-кандидатов, может ссылаться на вектор движения выбранного блока-кандидата, и, таким образом, может определять вектор движения текущего блока.
Однако, когда опорное изображение, указанное посредством опорного индекса блока-кандидата из числа блоков-кандидатов, отличается от опорного изображения текущего блока, если устройство 10 определения вектора движения предсказывает вектор движения текущего блока посредством ссылки на вектор движения блока-кандидата, точность предсказанного вектора движения может ухудшаться, хотя размер вектора движения блока-кандидата масштабируется и затем осуществляется ссылка на вектор движения блока-кандидата. Таким образом, когда опорное изображение текущего блока отличается от опорного изображения блока-кандидата, устройство 10 определения вектора движения может определять, ссылаться ли на блок-кандидат после масштабирования размера вектора движения блока-кандидата, или может определять не ссылаться на блок-кандидат.
В дальнейшем, когда опорное изображение текущего блока отличается от опорного изображения блока-кандидата, способ предсказания, посредством устройства 10 определения вектора движения, вектора движения текущего блока на основе вектора движения блока-кандидата описывается подробно со ссылкой на операции 21, 23, и 25.
В операции 21, устройство 10 определения вектора движения определяет список векторов движения-кандидатов, включающий в себя векторы движения множества блоков-кандидатов, для текущего блока.
В операции 23, когда опорное изображение первого блока-кандидата из числа блоков-кандидатов отличается от опорного изображения текущего блока, устройство 10 определения вектора движения определяет, использовать ли или нет вектор движения первого блока-кандидата из списка векторов движения-кандидатов, на основе того, является ли каждое из опорного изображения текущего блока и опорного изображения первого блока-кандидата краткосрочным опорным изображением или долгосрочным опорным изображением.
Устройство 10 определения вектора движения может определять, является ли опорное изображение текущего блока долгосрочным опорным изображением, посредством использования долгосрочного опорного индекса, указывающего, является ли опорное изображение текущего блока долгосрочным опорным изображением. Аналогично, устройство 10 определения вектора движения может определять, является ли опорное изображение первого блока-кандидата долгосрочным опорным изображением, посредством использования долгосрочного опорного индекса первого блока-кандидата.
В другом варианте осуществления, когда значение разности между отсчетами порядка картинок (POC) опорного изображения текущего блока и опорного изображения первого блока-кандидата больше, чем первое пороговое значение, устройство 10 определения вектора движения может определять, что опорное изображение первого блока-кандидата является долгосрочным опорным изображением. Аналогично, когда значение разности между отсчетами POC опорного изображения текущего блока и опорного изображения первого блока-кандидата больше, чем второе пороговое значение, устройство 10 определения вектора движения может определять, что опорное изображение текущего блока является долгосрочным опорным изображением.
В операции 25, устройство 10 определения вектора движения определяет вектор движения текущего блока посредством использования вектора движения-кандидата, выбранного из векторов движения, включенных в список векторов движения-кандидатов.
В операции 25, независимо от того, является ли опорное изображение текущего блока краткосрочным опорным изображением или долгосрочным опорным изображением, устройство 10 определения вектора движения может определять опорный блок, указанный посредством вектора движения текущего блока, который определяется в опорном изображении текущего блока согласно POC, указанному посредством опорного индекса текущего блока.
В операции 23, когда все из опорного изображения текущего блока и опорного изображения первого блока-кандидата являются долгосрочными опорными изображениями, устройство 10 определения вектора движения может поддерживать вектор движения первого блока-кандидата в списке векторов движения-кандидатов без масштабирования размера вектора движения первого блока-кандидата. Когда одно из опорного изображения текущего блока и опорного изображения первого блока-кандидата является краткосрочным опорным изображением, и другое одно из опорного изображения текущего блока и опорного изображения первого блока-кандидата является долгосрочным опорным изображением, устройство 10 определения вектора движения может определять не использовать вектор движения первого блока-кандидата в списке векторов движения-кандидатов. Когда все из опорного изображения текущего блока и опорного изображения первого блока-кандидата являются краткосрочными опорными изображениями, устройство 10 определения вектора движения может обновлять вектор движения первого блока-кандидата в списке векторов движения-кандидатов, согласно вектору движения первого блока-кандидата, который масштабирован по размеру, на основе отношения расстояния между текущим изображением и опорным изображением текущего блока к расстоянию между изображением первого блока-кандидата и опорным изображением первого блока-кандидата.
Посредством выполнения операций 21, 23, и 25, устройство 10 определения вектора движения может повторно определять список векторов движения-кандидатов. Когда только одно из опорного изображения текущего блока и опорного изображения первого блока-кандидата является долгосрочным опорным изображением, устройство 10 определения вектора движения может исключать вектор движения первого блока-кандидата из списка векторов движения-кандидатов и, таким образом, может не использовать первый блок-кандидат в качестве опорной цели. Таким образом, устройство 10 определения вектора движения может определять вектор движения блока-кандидата посредством ссылки на другой вектор движения, включенный в список векторов движения-кандидатов.
Когда все из опорного изображения текущего блока и опорного изображения первого блока-кандидата являются долгосрочными опорными изображениями, устройство 10 определения вектора движения включает вектор движения первого блока-кандидата в список векторов движения-кандидатов без масштабирования размера вектора движения первого блока-кандидата. Таким образом, устройство 10 определения вектора движения может выбирать оптимальный опорный вектор движения из числа другого вектора движения-кандидата и вектора движения первого блока-кандидата, включенного в список векторов движения-кандидатов, и может определять вектор движения текущего блока посредством использования выбранного опорного вектора движения.
Когда все из опорного изображения текущего блока и опорного изображения первого блока-кандидата являются краткосрочными опорными изображениями, устройство 10 определения вектора движения может масштабировать размер вектора движения первого блока-кандидата и может включать вектор движения первого блока-кандидата в список векторов движения-кандидатов. Таким образом, устройство 10 определения вектора движения может выбирать оптимальный опорный вектор движения из числа другого вектора движения-кандидата и масштабированного по размеру вектора движения первого блока-кандидата, включенного в список векторов движения-кандидатов, и может определять вектор движения текущего блока посредством использования выбранного опорного вектора движения.
Таким образом, согласно устройству 10 определения вектора движения и способу определения вектора движения, описанным выше со ссылкой на фиг. 1 и 2, когда опорное изображение, указанное посредством опорного индекса блока-кандидата, отличается от опорного изображения текущего блока, и, по меньшей мере, одно из опорного изображения текущего блока и опорного изображения блока-кандидата является долгосрочным опорным изображением, обработка масштабирования размера вектора движения блока-кандидата может пропускаться или обработка обеспечения ссылки на вектор движения блока-кандидата может пропускаться.
То есть, когда опорное изображение текущего блока отличается от опорного изображения блока-кандидата, и, по меньшей мере, одно из опорного изображения текущего блока и опорного изображения блока-кандидата является долгосрочным опорным изображением, если вектор движения текущего блока предсказывается посредством ссылки на вектор движения блока-кандидата, точность предсказанного вектора движения может ухудшаться, и, поэтому, обработка обеспечения ссылки на вектор движения блока-кандидата, который не имеет точности предсказания, может пропускаться, и текущий блок может предсказываться посредством ссылки на вектор движения другого блока-кандидата, имеющего относительно высокую точность. Посредством этого, эффективность обработки предсказания вектора движения может улучшаться.
В дальнейшем, как показано на фиг. 3 и 4, подробно описывается способ предсказания вектора движения согласно типам блока-кандидата.
Фиг. 3 иллюстрирует пример, в котором блок-кандидат является совместно размещенным блоком другого изображения, согласно одному варианту осуществления настоящего изобретения.
Совместно размещенное изображение 35 восстанавливается ранее, чем текущее изображение 30 и на него могут ссылаться для внешнего предсказания текущего блока 31 в текущем изображении 30. Совместно размещенное изображение 35 может определяться согласно совместно размещенному индексу 32 текущего блока 31.
В совместно размещенном изображении 35, блок, который находится в том же положении, что и текущий блок 31 текущего изображения 30, может определяться в качестве совместно размещенного блока 36. Устройство 10 определения вектора движения может использовать совместно размещенный блок 36 в качестве блока-кандидата, т.е. опорной цели, используемой, чтобы предсказывать вектор 34 движения текущего блока 31. Таким образом, вектор 34 движения текущего блока 31 может предсказываться посредством ссылки на вектор 37 движения совместно размещенного блока 36.
Совместно размещенное опорное изображение 38 может определяться согласно POC, указанному посредством опорного индекса совместно размещенного блока 36. Текущее опорное изображение 33 может определяться согласно POC, указанному посредством опорного индекса текущего блока 31.
Однако когда совместно размещенное опорное изображение 38 отличается от текущего опорного изображения 33, устройство 10 определения вектора движения может повторно определять, ссылаться ли или нет на вектор 37 движения совместно размещенного блока 36, или то, как ссылаться на вектор 37 движения совместно размещенного блока 36.
Более подробно, когда опорный индекс совместно размещенного блока 36 отличается от опорного индекса текущего блока 31, устройство 10 определения вектора движения может проверять, являются ли совместно размещенное опорное изображение 38 и текущее опорное изображение 33 краткосрочными опорными изображениями или долгосрочными опорными изображениями, посредством использования долгосрочного опорного индекса совместно размещенного блока 36 и долгосрочного опорного индекса текущего блока 31.
Когда совместно размещенное опорное изображение 38 отличается от текущего опорного изображения 33, устройство 10 определения вектора движения может повторно определять, ссылаться ли или нет на вектор 37 движения совместно размещенного блока 36, или то, как ссылаться на вектор 37 движения совместно размещенного блока 36.
Согласно результату проверки, когда совместно размещенное опорное изображение 38 отличается от текущего опорного изображения 33, но все из текущего опорного изображения 33 и совместно размещенного опорного изображения 38 являются краткосрочными опорными изображениями, размер вектора 37 движения совместно размещенного блока 36 может масштабироваться на основе отношения расстояния Td между совместно размещенным изображением 35 и совместно размещенным опорным изображением 38 к расстоянию Tb между текущим изображением 30 и текущим опорным изображением 33.
Здесь, расстояние Td между совместно размещенным изображением 35 и совместно размещенным опорным изображением 38 может определяться согласно значению разности между отсчетами POC совместно размещенного изображения 35 и совместно размещенного опорного изображения 38. Аналогично, расстояние Tb между текущим изображением 30 и текущим опорным изображением 33 может определяться согласно значению разности между отсчетами POC текущего изображения 30 и текущего опорного изображения 33.
То есть, когда все из текущего опорного изображения 33 и совместно размещенного опорного изображения 38 являются краткосрочными опорными изображениями, вектор движения-кандидат MVcol' может обновляться посредством значения, полученного посредством умножения вектора 37 движения (MVcol) совместно размещенного блока 36 на отношение расстояния Td между совместно размещенным изображением 35 и совместно размещенным опорным изображением 38 к расстоянию Tb между текущим изображением 30 и текущим опорным изображением 33 (MVcol'=MVcol·Tb/Td).
Таким образом, согласно результату проверки, когда совместно размещенное опорное изображение 38 отличается от текущего опорного изображения 33, но все из текущего опорного изображения 33 и совместно размещенного опорного изображения 38 являются краткосрочными опорными изображениями, устройство 10 определения вектора движения может изменять вектор 37 движения совместно размещенного блока 36 как значение MVcol' в списке векторов движения-кандидатов, при этом значение MVcol' получается посред