RU2768971C1 - Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method and moving image decoding program - Google Patents

Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method and moving image decoding program Download PDF

Info

Publication number
RU2768971C1
RU2768971C1 RU2021118523A RU2021118523A RU2768971C1 RU 2768971 C1 RU2768971 C1 RU 2768971C1 RU 2021118523 A RU2021118523 A RU 2021118523A RU 2021118523 A RU2021118523 A RU 2021118523A RU 2768971 C1 RU2768971 C1 RU 2768971C1
Authority
RU
Russia
Prior art keywords
motion vector
candidate
prediction
vector predictor
history
Prior art date
Application number
RU2021118523A
Other languages
Russian (ru)
Inventor
Сигеру ФУКУСИМА
Тору КУМАКУРА
Хироя НАКАМУРА
Хидеки ТАКЕХАРА
Сатору САКАДЗУМЕ
Хироюки КУРАСИГЕ
Original Assignee
ДжейВиСиКЕНВУД Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ДжейВиСиКЕНВУД Корпорейшн filed Critical ДжейВиСиКЕНВУД Корпорейшн
Application granted granted Critical
Publication of RU2768971C1 publication Critical patent/RU2768971C1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks

Abstract

FIELD: data processing.
SUBSTANCE: group of inventions relates to video data processing technologies. Disclosed is a moving frame coding device. Device comprises a module for extracting potentially suitable versions of spatial information of movement. Device also includes a module for extracting potentially suitable versions of motion information based on history. Module for extracting potentially suitable versions of spatial information of movement is made with the possibility of extracting a potentially suitable version of the spatial motion information from the motion information of a block adjacent to the target decoding block in the spatial domain. Module for extracting potentially suitable versions of motion information based on the history preferably extracts old motion information without comparing the motion information with a potentially suitable version of spatial information of motion.
EFFECT: reduction of data processing load on video data encoding/decoding devices.
4 cl, 55 dwg

Description

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

[0001] Настоящее изобретение относится к технологии кодирования и декодирования кадров для разделения кадра на блоки и выполнения предсказания.[0001] The present invention relates to a frame encoding and decoding technology for dividing a frame into blocks and performing prediction.

Уровень техникиState of the art

[0002] При кодировании и декодировании кадров, целевой кадр разделяется на блоки, каждый из которых представляет собой набор из предписанного числа выборок, и процесс выполняется в единицах блоков. Эффективность кодирования повышается посредством разделения кадра на соответствующие блоки и надлежащего задания внутрикадрового предсказания (интра-предсказания) и межкадрового предсказания (интер-предсказания).[0002] When encoding and decoding frames, the target frame is divided into blocks, each of which is a set of a prescribed number of samples, and the process is performed in units of blocks. Encoding efficiency is improved by dividing the frame into appropriate blocks and properly specifying intra-prediction (intra-prediction) and inter-prediction (inter-prediction).

[0003] При кодировании/декодировании движущихся кадров, эффективность кодирования повышается посредством интер-предсказания для выполнения предсказания из кодированного/декодированного кадра. Патентный документ 1 описывает технологию для применения аффинного преобразования во время интер-предсказания. Довольно часто объект вызывает деформацию, такую как увеличение/уменьшение и вращение в движущихся кадрах, и эффективное кодирование обеспечивается за счет применения технологии патентного документа 1.[0003] When encoding/decoding moving frames, encoding efficiency is improved by inter-prediction to perform prediction from an encoded/decoded frame. Patent Document 1 describes a technology for applying an affine transformation during inter-prediction. Quite often, an object causes deformation such as enlargement/reduction and rotation in moving frames, and efficient encoding is achieved by applying the technology of Patent Document 1.

Список библиографических ссылокList of bibliographic references

Патентные документыPatent Documents

[0004] Патентный документ 1[0004] Patent Document 1

Не прошедшая экспертизу заявка на патент (Япония), первая публикация № H9-172644.Unexamined Patent Application (Japan), First Publication No. H9-172644.

Сущность изобретенияThe essence of the invention

Техническая задачаTechnical task

[0005] Тем не менее, поскольку технология патентного документа 1 заключает в себе преобразование кадров, имеется проблема в том, что нагрузка по обработке является большой. С учетом вышеизложенной проблемы, настоящее изобретение предоставляет эффективную технологию кодирования с низкой нагрузкой.[0005] However, since the technology of Patent Document 1 includes frame conversion, there is a problem that the processing load is large. In view of the above problem, the present invention provides an efficient low load coding technique.

Решение задачиThe solution of the problem

[0006] Согласно аспекту настоящего изобретения для решения вышеописанных проблем, предусмотрено устройство кодирования движущихся кадров, включающее в себя: модуль извлечения потенциально подходящих вариантов пространственной информации движения, выполненный с возможностью извлекать потенциально подходящий вариант пространственной информации движения из информации движения блока, соседнего с целевым блоком кодирования, в пространственной области; и модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории, выполненный с возможностью извлекать потенциально подходящий вариант информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения кодированного блока, при этом модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории предпочтительно извлекает старую информацию движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.[0006] According to an aspect of the present invention, in order to solve the above-described problems, a moving frame coding apparatus is provided, including: a motion spatial information candidate extractor, configured to extract a motion spatial information candidate from the motion information of a block adjacent to the target block. coding, in the spatial domain; and a history-based motion information candidate extraction module, configured to extract the history-based motion information candidates from a memory storing motion information of the encoded block, wherein the history-based motion information candidate extraction module preferably extracts the old motion information without comparing the motion information with a potentially suitable version of the spatial motion information.

[0007] Кроме того, согласно другому аспекту настоящего изобретения, предусмотрен способ кодирования движущихся кадров, включающий в себя: первый процесс извлечения потенциально подходящего варианта пространственной информации движения из информации движения блока, соседнего с целевым блоком кодирования, в пространственной области; и второй процесс извлечения потенциально подходящего варианта информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения кодированного блока, при этом второй процесс включает в себя предпочтительное извлечение старой информации движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.[0007] In addition, according to another aspect of the present invention, there is provided a method for encoding moving frames, including: a first process of extracting a potentially suitable case of spatial motion information from motion information of a block adjacent to an encoding target block in a spatial domain; and a second process of retrieving a potentially relevant candidate motion information based on the history from a memory storing motion information of the encoded block, the second process including preferentially retrieving old motion information without comparing the motion information with a potential candidate spatial motion information.

[0008] Кроме того, согласно еще одному другому аспекту настоящего изобретения, предусмотрена программа для кодирования движущихся кадров для предписания компьютеру функционировать в качестве: модуля извлечения потенциально подходящих вариантов пространственной информации движения, выполненного с возможностью извлекать потенциально подходящий вариант пространственной информации движения из информации движения блока, соседнего с целевым блоком кодирования, в пространственной области; и модуля извлечения потенциально подходящих вариантов информации движения на основе предыстории, выполненного с возможностью извлекать потенциально подходящий вариант информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения кодированного блока, при этом модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории предпочтительно извлекает старую информацию движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.[0008] In addition, according to yet another aspect of the present invention, a program for encoding moving frames is provided for causing a computer to function as: a motion spatial information potential candidate extractor, configured to extract motion spatial information potential candidates from block motion information. , adjacent to the target coding block, in the spatial domain; and a history-based motion information candidate extraction module, configured to extract the history-based motion information candidates from a memory storing motion information of the encoded block, wherein the history-based motion information candidate extraction module preferably extracts the old motion information without comparing the motion information with a potentially suitable version of the spatial motion information.

[0009] Кроме того, согласно еще одному другому аспекту настоящего изобретения, предусмотрено устройство декодирования кадров, включающее в себя: модуль извлечения потенциально подходящих вариантов пространственной информации движения, выполненный с возможностью извлекать потенциально подходящий вариант пространственной информации движения из информации движения блока, соседнего с целевым блоком декодирования, в пространственной области; и модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории, выполненный с возможностью извлекать потенциально подходящий вариант информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения декодированного блока, при этом модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории предпочтительно извлекает старую информацию движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.[0009] In addition, according to still another aspect of the present invention, a frame decoding apparatus is provided, including: a potential candidate spatial motion information extraction module, configured to extract a candidate spatial motion information candidate from the motion information of a block adjacent to the target a decoding unit, in the spatial domain; and a history-based motion information candidate extraction module, configured to extract the history-based motion information candidates from a memory storing the motion information of the decoded block, the history-based motion information candidate extraction module preferably extracting the old motion information without comparing the motion information with a potentially suitable version of the spatial motion information.

[0010] Кроме того, согласно еще одному другому аспекту настоящего изобретения, предусмотрен способ декодирования кадров, включающий в себя: первый процесс извлечения потенциально подходящего варианта пространственной информации движения из информации движения блока, соседнего с целевым блоком декодирования, в пространственной области; и второй процесс извлечения потенциально подходящего варианта информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения декодированного блока, при этом второй процесс включает в себя предпочтительное извлечение старой информации движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.[0010] In addition, according to yet another aspect of the present invention, there is provided a method for decoding frames, including: a first process of extracting a potentially suitable case of spatial motion information from motion information of a block adjacent to a decoding target block in a spatial domain; and a second process of retrieving a potentially candidate motion information based on the history from a memory storing the motion information of the decoded block, the second process including preferentially retrieving the old motion information without comparing the motion information with the potential candidate spatial motion information.

[0011] Кроме того, согласно еще одному другому аспекту настоящего изобретения, предусмотрена программа для декодирования кадров для предписания компьютеру функционировать в качестве: модуля извлечения потенциально подходящих вариантов пространственной информации движения, выполненного с возможностью извлекать потенциально подходящий вариант пространственной информации движения из информации движения блока, соседнего с целевым блоком декодирования, в пространственной области; и модуля извлечения потенциально подходящих вариантов информации движения на основе предыстории, выполненного с возможностью извлекать потенциально подходящий вариант информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения декодированного блока, при этом модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории предпочтительно извлекает старую информацию движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.[0011] In addition, according to yet another aspect of the present invention, a frame decoding program is provided for causing a computer to function as: a motion spatial information candidate extractor, configured to extract motion spatial information candidates from the block motion information, adjacent to the decoding target block, in the spatial domain; and a history-based motion information candidate extraction module, configured to extract the history-based motion information candidates from a memory storing motion information of the decoded block, the history-based motion information candidate extraction module preferably extracting the old motion information without comparing the motion information with a potentially suitable version of the spatial motion information.

Преимущества изобретенияBenefits of the Invention

[0012] Согласно настоящему изобретению, можно реализовывать высокоэффективный процесс кодирования/декодирования кадров с низкой нагрузкой.[0012] According to the present invention, it is possible to realize a highly efficient frame encoding/decoding process with low load.

Краткое описание чертежейBrief description of the drawings

[0013] Фиг. 1 является блок-схемой устройства кодирования кадров согласно варианту осуществления настоящего изобретения.[0013] FIG. 1 is a block diagram of a frame encoding apparatus according to an embodiment of the present invention.

Фиг. 2 является блок-схемой устройства декодирования кадров согласно варианту осуществления настоящего изобретения.Fig. 2 is a block diagram of a frame decoding apparatus according to an embodiment of the present invention.

Фиг. 3 является пояснительной блок-схемой последовательности операций способа, показывающей операцию разделения древовидного блока.Fig. 3 is an explanatory flowchart showing a tree block splitting operation.

Фиг. 4 является схемой, показывающей состояние, в котором входной кадр разделяется на древовидные блоки.Fig. 4 is a diagram showing a state in which an input frame is divided into tree blocks.

Фиг. 5 является пояснительной схемой, показывающей Z-сканирование.Fig. 5 is an explanatory diagram showing a Z-scan.

Фиг. 6A является схемой, показывающей разделенную форму блока.Fig. 6A is a diagram showing a divided block shape.

Фиг. 6B является схемой, показывающей разделенную форму блока.Fig. 6B is a diagram showing a divided block shape.

Фиг. 6C является схемой, показывающей разделенную форму блока.Fig. 6C is a diagram showing a divided block shape.

Фиг. 6D является схемой, показывающей разделенную форму блока.Fig. 6D is a diagram showing a divided block shape.

Фиг. 6E является схемой, показывающей разделенную форму блока.Fig. 6E is a diagram showing a divided block shape.

Фиг. 7 является пояснительной блок-схемой последовательности операций способа, показывающей операцию разделения блока на четыре части.Fig. 7 is an explanatory flowchart showing the operation of dividing a block into four parts.

Фиг. 8 является пояснительной блок-схемой последовательности операций способа, показывающей операцию разделения блока на две или три части.Fig. 8 is an explanatory flowchart showing the operation of dividing a block into two or three parts.

Фиг. 9 является синтаксисом для выражения формы разбиения блоков.Fig. 9 is the syntax for expressing the block split shape.

Фиг. 10A является пояснительной схемой, показывающей интра-предсказание.Fig. 10A is an explanatory diagram showing intra prediction.

Фиг. 10B является пояснительной схемой, показывающей интра-предсказание.Fig. 10B is an explanatory diagram showing intra prediction.

Фиг. 11 является пояснительной схемой, показывающей опорный блок интер-предсказания.Fig. 11 is an explanatory diagram showing an inter prediction reference block.

Фиг. 12 является синтаксисом для выражения режима предсказания блоков кодирования.Fig. 12 is a syntax for expressing a coding block prediction mode.

Фиг. 13 является схемой, показывающей соответствие между синтаксическим элементом, связанным со интер-предсказанием, и режимом.Fig. 13 is a diagram showing a correspondence between a syntax element related to inter prediction and a mode.

Фиг. 14 является пояснительной схемой, показывающей аффинную компенсацию движения двух управляющих точек.Fig. 14 is an explanatory diagram showing affine motion compensation of two control points.

Фиг. 15 является пояснительной схемой, показывающей аффинную компенсацию движения трех управляющих точек.Fig. 15 is an explanatory diagram showing motion affine compensation of three control points.

Фиг. 16 является блок-схемой подробной конфигурации модуля 102 интер-предсказания по фиг. 1.Fig. 16 is a block diagram of a detailed configuration of the inter prediction module 102 of FIG. one.

Фиг. 17 является блок-схемой подробной конфигурации модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения по фиг. 16.Fig. 17 is a block diagram of a detailed configuration of the normal motion vector predictor identification mode extraction unit 301 of FIG. sixteen.

Фиг. 18 является блок-схемой подробной конфигурации модуля 302 извлечения режимов нормального объединения по фиг. 16.Fig. 18 is a block diagram of a detailed configuration of the normal combining mode extractor 302 of FIG. sixteen.

Фиг. 19 является пояснительной блок-схемой последовательности операций способа, показывающей процесс извлечения режимов идентификации предикторов нормальных векторов движения модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения по фиг. 16.Fig. 19 is an explanatory flowchart showing a normal motion vector predictor identification mode extraction process of the normal motion vector predictor identification mode extraction unit 301 of FIG. sixteen.

Фиг. 20 является блок-схемой последовательности операций способа, показывающей процедуру обработки процесса извлечения режимов идентификации предикторов нормальных векторов движения.Fig. 20 is a flowchart showing a normal motion vector predictor identification mode extraction process processing procedure.

Фиг. 21 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру обработки процесса извлечения режимов нормального объединения.Fig. 21 is an explanatory flowchart showing a normal combining mode extraction process processing procedure.

Фиг. 22 является блок-схемой подробной конфигурации модуля 203 интер-предсказания по фиг. 2.Fig. 22 is a block diagram of a detailed configuration of the inter prediction module 203 of FIG. 2.

Фиг. 23 является блок-схемой подробной конфигурации модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения по фиг. 22.Fig. 23 is a block diagram of a detailed configuration of the normal motion vector predictor identification mode extraction unit 401 of FIG. 22.

Фиг. 24 является блок-схемой подробной конфигурации модуля 402 извлечения режимов нормального объединения по фиг. 22.Fig. 24 is a block diagram of a detailed configuration of the normal combining mode extractor 402 of FIG. 22.

Фиг. 25 является пояснительной блок-схемой последовательности операций способа, показывающей процесс извлечения режимов идентификации предикторов нормальных векторов движения модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения по фиг. 22.Fig. 25 is an explanatory flowchart showing a normal motion vector predictor identification mode extraction process of the normal motion vector predictor identification mode extraction unit 401 of FIG. 22.

Фиг. 26 является пояснительной схемой, показывающей процедуру обработки для инициализации/обновления списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 26 is an explanatory diagram showing a processing procedure for initializing/updating a list of potentially candidate candidate motion vector predictors based on history.

Фиг. 27 является блок-схемой последовательности операций способа для процедуры обработки проверки на идентичные элементы в процедуре обработки для инициализации/обновления списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 27 is a flowchart for the identity check processing procedure in the processing procedure for initializing/updating a list of potentially matching motion vector predictor cases based on history.

Фиг. 28 является блок-схемой последовательности операций способа для процедуры обработки поэлементного сдвига в процедуре обработки для инициализации/обновления списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 28 is a flowchart for a pixel shift processing procedure in a processing procedure for initializing/updating a list of potentially suitable motion vector predictor cases based on history.

Фиг. 29 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 29 is an explanatory flowchart showing a history-based motion vector predictor potential candidate extraction processing procedure.

Фиг. 30 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения потенциально подходящих вариантов объединения на основе предыстории.Fig. 30 is an explanatory flowchart showing a processing procedure for extracting potentially suitable combinations based on history.

Фиг. 31A является пояснительной схемой, показывающей пример процесса обновления списков потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 31A is an explanatory diagram showing an example of a process for updating lists of potentially candidate motion vector predictors based on history.

Фиг. 31B является пояснительной схемой, показывающей пример процесса обновления списков потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 31B is an explanatory diagram showing an example of a process for updating lists of potentially candidate motion vector predictors based on history.

Фиг. 31C является пояснительной схемой, показывающей пример процесса обновления списков потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 31C is an explanatory diagram showing an example of a process for updating lists of potentially candidate motion vector predictors based on history.

Фиг. 32 является пояснительной схемой, показывающей предсказание с компенсацией движения, когда время такта опорного кадра (RefL0Pic) L0 находится раньше времени такта целевого кадра (CurPic), в качестве L0-предсказания.Fig. 32 is an explanatory diagram showing motion compensation prediction when the cycle time of the reference frame (RefL0Pic) L0 is earlier than the cycle time of the target frame (CurPic) as the L0 prediction.

Фиг. 33 является пояснительной схемой, показывающей предсказание с компенсацией движения, когда время такта опорного кадра L0-предсказания находится позже времени такта целевого кадра, в качестве L0-предсказания.Fig. 33 is an explanatory diagram showing motion compensation prediction when the cycle time of the L0 prediction reference frame is later than the cycle time of the target frame as L0 prediction.

Фиг. 34 является пояснительной схемой, показывающей направление предсказания для предсказания с компенсацией движения, когда время такта опорного кадра L0-предсказания находится раньше времени такта целевого кадра, и время такта опорного кадра L1-предсказания находится позже времени такта целевого кадра, в качестве бипредсказания.Fig. 34 is an explanatory diagram showing a prediction direction for motion-compensated prediction when the clock time of the L0 prediction reference frame is earlier than the clock time of the target frame, and the clock time of the L1 prediction reference frame is later than the clock time of the target frame, as bi-prediction.

Фиг. 35 является пояснительной схемой, показывающей направление предсказания для предсказания с компенсацией движения, когда время такта опорного кадра L0-предсказания и время такта опорного кадра L1-предсказания находятся раньше времени такта целевого кадра, в качестве бипредсказания.Fig. 35 is an explanatory diagram showing a prediction direction for motion-compensated prediction when the cycle time of the L0 prediction reference frame and the cycle time of the L1 prediction reference frame are earlier than the cycle time of the target frame, as bi-prediction.

Фиг. 36 является пояснительной схемой, показывающей направление предсказания для предсказания с компенсацией движения, когда время такта опорного кадра L0-предсказания и время такта опорного кадра L1-предсказания находятся позже времени такта целевого кадра, в качестве бипредсказания.Fig. 36 is an explanatory diagram showing a prediction direction for motion-compensated prediction when the cycle time of the L0 prediction reference frame and the cycle time of the L1 prediction reference frame are later than the cycle time of the target frame, as bi-prediction.

Фиг. 37 является пояснительной схемой, показывающей пример аппаратной конфигурации устройства кодирования/декодирования согласно варианту осуществления настоящего изобретения.Fig. 37 is an explanatory diagram showing a hardware configuration example of an encoding/decoding device according to an embodiment of the present invention.

Фиг. 38 является блок-схемой последовательности операций способа для описания процедуры обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории в случае конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется, и список потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется со ссылкой на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения.Fig. 38 is a flowchart for describing a history-based motion vector predictor candidate extraction processing procedure in the case of a configuration in which the identical candidate candidate deletion process is not performed, and a history-based motion vector predictor potential candidate list is used with by referring to the motion information in order from the oldest motion information to the newly added motion information.

Фиг. 39 является блок-схемой последовательности операций способа для процедуры обработки сдвига и добавления элемента списка потенциально подходящих вариантов предикторов векторов движения предыстории.Fig. 39 is a flowchart for a procedure for processing a shift and adding a list entry of potentially suitable history motion vector predictor options.

Фиг. 40 является блок-схемой последовательности операций способа для описания процедуры обработки извлечения потенциально подходящих вариантов объединения на основе предыстории в случае конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется, и список потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется со ссылкой на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения.Fig. 40 is a flowchart for describing a history-based merge candidate extraction processing procedure in the case of a configuration in which the process of deleting identical candidates is not performed, and a history-based motion vector predictor candidate list is used with reference to motion information in order from the oldest motion information to the newly added motion information.

Фиг. 41 является пояснительной схемой, показывающей конфигурацию списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 41 is an explanatory diagram showing the configuration of a history-based motion vector predictor candidate list configuration.

Фиг. 42 является пояснительной схемой, показывающей состояние, в котором элемент в начале списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории удаляется во время добавления в список потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 42 is an explanatory diagram showing a state in which an element at the head of the history-based motion vector predictor candidate candidate list is removed at the time of adding to the history-based motion vector predictor candidate candidate list.

Фиг. 43 является пояснительной схемой, показывающей состояние, в котором каждый элемент сдвигается в списке потенциально подходящих вариантов предикторов векторов движения на основе предыстории во время добавления в список потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 43 is an explanatory diagram showing a state in which each element is shifted in the history-based motion vector predictor candidate list at the time of adding to the history-based motion vector predictor candidate list.

Фиг. 44 является пояснительной схемой, показывающей состояние, в котором новый элемент добавляется во время добавления в список потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 44 is an explanatory diagram showing a state in which a new entry is added at the time of adding to the history-based motion vector predictor candidate list.

Фиг. 45 является схемой для описания опорного порядка списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 45 is a diagram for describing a reference order of a list of potentially candidate candidate motion vector predictors based on history.

Фиг. 46 является схемой для описания опорного порядка списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Fig. 46 is a diagram for describing a reference order of a list of potentially candidate motion vector predictors based on history.

Фиг. 47 является блок-схемой последовательности операций способа для описания процедуры обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории в случае конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется, и список потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется со ссылкой в обратном порядке, который является обратным по отношению к порядку хранения.Fig. 47 is a flowchart for describing a history-based motion vector predictor potential candidate extraction processing procedure in the case of a configuration in which the identical candidate candidate deletion process is not performed, and a history-based motion vector predictor potential candidate list is used with reference in reverse order, which is the reverse of the storage order.

Фиг. 48 является блок-схемой последовательности операций способа для описания процедуры обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории в случае конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов выполняется с использованием списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории со ссылкой в обратном порядке, который является обратным по отношению к порядку хранения.Fig. 48 is a flowchart for describing a history-based motion vector predictor candidate extraction processing procedure in the case of a configuration in which the process of deleting identical candidates is performed using a history-based motion vector predictor potential candidate list with reference to reverse order, which is the reverse of the storage order.

Подробное описание вариантов осуществленияDetailed description of embodiments

[0014] В дальнейшем задаются технологические и технические термины, используемые в варианте осуществления.[0014] Hereinafter, the technological and technical terms used in the embodiment are specified.

[0015] Древовидный блок [0015] Tree block

В варианте осуществления, целевой кадр кодирования/декодирования одинаково разделяется на единицы предварительно определенного размера. Эта единица задается как древовидный блок. Хотя размер древовидного блока составляет 128×128 выборок на фиг. 4, размер древовидного блока не ограничен этим, и любой размер может задаваться. Древовидный блок цели (соответствующей цели кодирования в процессе кодирования или цели декодирования в процессе декодирования) переключается в порядке растрового сканирования, т.е. слева направо и сверху вниз. Внутренняя часть каждого древовидного блока дополнительно может рекурсивно разделяться. Блок, который представляет собой цель кодирования/декодирования после того, как древовидный блок рекурсивно разделяется, задается как блок кодирования. Кроме того, древовидный блок и блок кодирования совместно задаются в качестве блоков. Эффективное кодирование обеспечивается посредством выполнения соответствующего разбиения блоков. Размер древовидного блока может составлять фиксированное значение, предварительно определенное посредством устройства кодирования и устройства декодирования, или размер древовидного блока, определенный посредством устройства кодирования, может быть выполнен с возможностью передаваться в устройство декодирования. Здесь, максимальный размер древовидного блока составляет 128×128 выборок, и минимальный размер древовидного блока составляет 16×16 выборок. Кроме того, максимальный размер блока кодирования составляет 64×64 выборки, и минимальный размер блока кодирования составляет 4×4 выборки.In an embodiment, the encoding/decoding target frame is equally divided into units of a predetermined size. This unit is specified as a tree block. Although the treeblock size is 128×128 samples in FIG. 4, the size of the tree block is not limited to this, and any size can be set. The tree block of the target (corresponding to the encoding target in the encoding process or the decoding target in the decoding process) is switched in the raster scan order, i.e. left to right and top to bottom. The interior of each treeblock may further be recursively split. The block that is the encoding/decoding target after the tree block is recursively divided is set as the encoding block. In addition, the tree block and the coding block are jointly defined as blocks. Efficient coding is ensured by performing appropriate block splitting. The treeblock size may be a fixed value predetermined by the encoder and the decoder, or the treeblock size determined by the encoder may be configured to be transmitted to the decoder. Here, the maximum treeblock size is 128×128 samples, and the minimum treeblock size is 16×16 samples. In addition, the maximum coding block size is 64×64 samples, and the minimum coding block size is 4×4 samples.

[0016] Режим предсказания [0016] Prediction mode

Переключение выполняется между интра-предсказанием (MODE_INTRA), в котором предсказание выполняется из обработанного сигнала кадров для целевого кадра, и интер-предсказанием (MODE_INTER), в котором предсказание выполняется из сигнала кадров для обработанного кадра в единицах целевых блоков кодирования.Switching is performed between intra-prediction (MODE_INTRA), in which prediction is performed from the processed frame signal for the target frame, and inter-prediction (MODE_INTER), in which prediction is performed from the frame signal for the processed frame in units of target coding units.

Обработанный кадр используется для кадра, сигнала кадров, древовидного блока, блока, блока кодирования и т.п., полученных посредством декодирования сигнала, полностью кодированного в процессе кодирования, и используется для кадра, сигнала кадров, древовидного блока, блока, блока кодирования и т.п., полученных посредством завершения декодирования в процессе декодирования.The processed frame is used for a frame, a frame signal, a treeblock, a block, an encoding block, or the like obtained by decoding a signal completely encoded in an encoding process, and is used for a frame, a frame signal, a treeblock, a block, an encoding block, etc. .p. obtained by completing decoding in the decoding process.

Режим, в котором идентифицируются интра-предсказание (MODE_INTRA) и интер-предсказание (MODE_INTER), задается как режим предсказания (PredMode). Режим предсказания (PredMode) имеет интра-предсказание (MODE_INTRA) или интер-предсказание (MODE_INTER) в качестве значения.The mode in which intra-prediction (MODE_INTRA) and inter-prediction (MODE_INTER) are identified is set as a prediction mode (PredMode). The prediction mode (PredMode) has intra-prediction (MODE_INTRA) or inter-prediction (MODE_INTER) as a value.

[0017] Интер-предсказание [0017] Inter prediction

При интер-предсказании, при котором предсказание выполняется из сигнала кадров для обработанного кадра, множество обработанных кадров могут использоваться в качестве опорных кадров. Чтобы управлять множеством опорных кадров, два типа опорных списков в виде L0 (опорного списка 0) и L1 (опорного списка 1) задаются, и опорный кадр идентифицируется с использованием каждого опорного индекса. В P-срезе, может использоваться L0-предсказание (Pred_L0). В B-срезе, могут использоваться L0-предсказание (Pred_L0), L1-предсказание (Pred_L1) и бипредсказание (Pred_BI). L0-предсказание (Pred_L0) представляет собой интер-предсказание, которое ссылается на опорный кадр, управляемый в L0, и L1-предсказание (Pred_L1) представляет собой интер-предсказание, которое ссылается на опорный кадр, управляемый в L1. Бипредсказание (Pred_BI) представляет собой интер-предсказание, при котором как выполняется L0-предсказание, так и L1-предсказание, и ссылаются на один опорный кадр, управляемый в каждом из L0 и L1. Информация для идентификации L0-предсказания, L1-предсказания и бипредсказания задается как режим интер-предсказания. В последующей обработке, константы и переменные с подстрочным индексом LX в выводе предположительно должны обрабатываться для каждого из L0 и L1.In inter-prediction, in which prediction is performed from a frame signal for a processed frame, a plurality of processed frames may be used as reference frames. In order to manage a plurality of reference frames, two types of reference lists in the form of L0 (reference list 0) and L1 (reference list 1) are defined, and the reference frame is identified using each reference index. In P-slice, L0 prediction (Pred_L0) can be used. In a B-slice, L0 prediction (Pred_L0), L1 prediction (Pred_L1), and biprediction (Pred_BI) can be used. L0 prediction (Pred_L0) is an inter prediction that refers to a reference frame driven in L0, and L1 prediction (Pred_L1) is an inter prediction that refers to a reference frame driven in L1. Bi-prediction (Pred_BI) is inter-prediction in which both L0 prediction and L1 prediction are performed, and refer to one reference frame driven in each of L0 and L1. Information for identifying L0 prediction, L1 prediction, and bi-prediction is set as an inter-prediction mode. In post-processing, constants and variables with subscript LX in the output are supposed to be processed for each of L0 and L1.

[0018] Режим идентификации предикторов векторов движения [0018] Motion Vector Predictor Identification Mode

Режим идентификации предикторов векторов движения представляет собой режим для передачи индекса для идентификации предиктора вектора движения, разности векторов движения, режима интер-предсказания и опорного индекса и определения информации интер-предсказания целевого блока. Предиктор вектора движения извлекается из потенциально подходящего варианта предиктора вектора движения, извлекаемого из обработанного блока, соседнего с целевым блоком, либо блока, расположенного в идентичной позиции или около (рядом) с целевым блоком из числа блоков, принадлежащих обработанному кадру, и индекса для идентификации предиктора вектора движения.The motion vector predictor identification mode is a mode for transmitting an index for identifying the motion vector predictor, the motion vector difference, the inter prediction mode, and the reference index, and determining target block inter prediction information. The motion vector predictor is derived from a potentially suitable motion vector predictor derived from a processed block adjacent to the target block, or a block located at or near (near) the target block from among the blocks belonging to the processed frame, and an index to identify the predictor motion vector.

[0019] Режим объединения [0019] Combine Mode

Режим объединения представляет собой режим, в котором информация интер-предсказания целевого блока извлекается из информации интер-предсказания обработанного блока, соседнего с целевым блоком, либо блока, расположенного в идентичной позиции или около (рядом) с целевым блоком из числа блоков, принадлежащих обработанному кадру, без передачи разности векторов движения и опорного индекса.The merge mode is a mode in which the inter-prediction information of the target block is extracted from the inter-prediction information of the processed block adjacent to the target block, or a block located at the identical position or near (near) the target block from among the blocks belonging to the processed frame. , without transferring the difference of the motion vectors and the reference index.

[0020] Обработанный блок, соседний с целевым блоком, и информация интер-предсказания обработанного блока задаются как пространственные потенциально подходящие варианты объединения. Блок, расположенный в идентичной позиции или около (рядом) с целевым блоком из числа блоков, принадлежащих обработанному кадру, и информация интер-предсказания, извлекаемая из информации интер-предсказания блока, задаются как временные потенциально подходящие варианты объединения. Каждый потенциально подходящий вариант объединения регистрируется в списке потенциально подходящих вариантов объединения, и потенциально подходящий вариант объединения, используемый для предсказания целевого блока, идентифицируется посредством индекса объединения.[0020] The processed block adjacent to the target block and the inter-prediction information of the processed block are defined as spatial potential join candidates. A block located at or near the same position as a target block among blocks belonging to the processed frame and inter-prediction information extracted from the block's inter-prediction information are set as temporal potentially suitable merges. Each join candidate is registered in a join candidate list, and the join candidate used to predict the target block is identified by the join index.

[0021] Соседний блок [0021] Neighbor block

Фиг. 11 является пояснительной схемой, показывающей опорный блок, на который ссылаются при извлечении информации интер-предсказания в режиме идентификации предикторов векторов движения и режиме объединения. A0, A1, A2, B0, B1, B2 и B3 представляют собой обработанные блоки, соседние с целевым блоком. T0 представляет собой блок, расположенный в идентичной позиции или около (рядом) с целевым блоком в целевом кадре из числа блоков, принадлежащих обработанному кадру.Fig. 11 is an explanatory diagram showing a reference block referred to in extracting inter prediction information in the motion vector predictor identification mode and the combining mode. A0, A1, A2, B0, B1, B2 and B3 are processed blocks adjacent to the target block. T0 is a block located at or near the same position as the target block in the target frame from among the blocks belonging to the processed frame.

[0022] A1 и A2 представляют собой блоки, расположенные в левой стороне относительно целевого блока кодирования и соседние с целевым блоком кодирования. B1 и B3 представляют собой блоки, расположенные в верхней стороне относительно целевого блока кодирования и соседние с целевым блоком кодирования. A0, B0 и B2 представляют собой блоки, расположенные снизу слева, сверху справа и сверху слева относительно целевого блока кодирования, соответственно.[0022] A1 and A2 are blocks located on the left side of the coding target block and adjacent to the coding target block. B1 and B3 are blocks located on the upper side of the coding target block and adjacent to the coding target block. A0, B0, and B2 are bottom left, top right, and top left blocks of the target coding block, respectively.

[0023] Ниже описываются подробности того, как обрабатывать соседние блоки в режиме идентификации предикторов векторов движения и режиме объединения.[0023] The following describes the details of how to process adjacent blocks in the motion vector predictor identification mode and the merging mode.

[0024] Аффинная компенсация движения [0024] Affine Motion Compensation

Аффинная компенсация движения представляет собой процесс выполнения компенсации движения посредством разделения блока кодирования на субблоки предварительно определенной единицы и отдельного определения вектора движения для каждого из субблоков, на которые разделяется блок кодирования. Вектор движения каждого субблока извлекается на основе одной или более управляющих точек, извлекаемых из информации интер-предсказания обработанного блока, соседнего с целевым блоком, либо блока, расположенного в идентичной позиции или около (рядом) с целевым блоком из числа блоков, принадлежащих обработанному кадру. Хотя размер субблока составляет 4×4 выборки в настоящем варианте осуществления, размер субблока не ограничен этим, и вектор движения может извлекаться в единицах выборок.Affine motion compensation is a process of performing motion compensation by dividing a coding block into subblocks of a predetermined unit and separately determining a motion vector for each of the subblocks into which the coding block is divided. The motion vector of each sub-block is extracted based on one or more control points extracted from the inter-prediction information of the processed block adjacent to the target block, or a block located in an identical position or near (next to) the target block from among the blocks belonging to the processed frame. Although the sub-block size is 4×4 samples in the present embodiment, the sub-block size is not limited to this, and the motion vector may be extracted in units of samples.

[0025] Пример аффинной компенсации движения в случае двух управляющих точек показывается на фиг. 14. В этом случае, две управляющих точки имеют два параметра в виде компонента горизонтального направления и компонента вертикального направления. Таким образом, аффинное преобразование в случае двух управляющих точек называется "четырехпараметрическим аффинным преобразованием". CP1 и CP2 по фиг. 14 представляют собой управляющие точки.[0025] An example of affine motion compensation in the case of two control points is shown in FIG. 14. In this case, the two control points have two parameters as a horizontal direction component and a vertical direction component. Thus, an affine transformation in the case of two control points is called a "four-parameter affine transformation". CP1 and CP2 in FIG. 14 are control points.

Пример аффинной компенсации движения в случае трех управляющих точек показывается на фиг. 15. В этом случае, три управляющих точки имеют два параметра в виде компонента горизонтального направления и компонента вертикального направления. Таким образом, аффинное преобразование в случае трех управляющих точек называется "шестипараметрическим аффинным преобразованием". CP1, CP2 и CP3 по фиг. 15 представляют собой управляющие точки.An example of affine motion compensation in the case of three control points is shown in FIG. 15. In this case, the three control points have two parameters as a horizontal direction component and a vertical direction component. Thus, the affine transformation in the case of three control points is called a "six-parameter affine transformation". CP1, CP2 and CP3 of FIG. 15 are control points.

[0026] Аффинная компенсация движения может использоваться как в режиме идентификации предикторов векторов движения, так и в режиме объединения. Режим, в котором аффинная компенсация движения применяется в режиме идентификации предикторов векторов движения, задается как режим идентификации предикторов векторов движения на основе субблоков, и режим, в котором аффинная компенсация движения применяется в режиме объединения, задается как режим объединения на основе субблоков.[0026] Affine motion compensation can be used in both the motion vector predictor identification mode and the pooling mode. The mode in which affine motion compensation is applied in the motion vector predictor identification mode is set as the sub-block-based motion vector predictor identification mode, and the mode in which affine motion compensation is applied in the combining mode is set as the sub-block-based combining mode.

[0027] Синтаксис интер-предсказания [0027] Inter prediction syntax

В дальнейшем описывается синтаксис, связанный со интер-предсказанием, с использованием фиг. 12 и 13.The following describes the syntax associated with inter-prediction using FIG. 12 and 13.

Флаг merge_flag на фиг. 12 указывает то, задается целевой блок кодирования в режим объединения или в режим идентификации предикторов векторов движения. Флаг merge_affine_flag указывает то, применяется или нет режим объединения на основе субблоков к целевому блоку кодирования режима объединения. Флаг inter_affine_flag указывает то, следует или нет применять режим идентификации предикторов векторов движения на основе субблоков к целевому блоку кодирования режима идентификации предикторов векторов движения. Флаг cu_affine_type_flag используется для того, чтобы определять число управляющих точек в режиме идентификации предикторов векторов движения на основе субблоков.The merge_flag in FIG. 12 indicates whether the target coding block is set to the combining mode or the motion vector predictor identification mode. The merge_affine_flag flag indicates whether or not the subblock-based merging mode is applied to the target coding block of the merging mode. The inter_affine_flag indicates whether or not to apply the sub-block motion vector predictor identification mode to the target coding block of the motion vector predictor identification mode. The cu_affine_type_flag flag is used to determine the number of control points in the subblock-based motion vector predictor identification mode.

Фиг. 13 показывает значение каждого синтаксического элемента и способ предсказания, соответствующий ему. Режим нормального объединения соответствует merge_flag=1 и merge_affine_flag=0 и не представляет собой режим объединения на основе субблоков. Режим объединения на основе субблоков соответствует merge_flag=1 и merge_affine_flag=1. Режим идентификации предикторов нормальных векторов движения соответствует merge_flag=0 и inter_affine_flag=0. Режим идентификации предикторов нормальных векторов движения представляет собой режим объединения предиктора вектора движения, который не представляет собой режим идентификации предикторов векторов движения на основе субблоков. Режим идентификации предикторов векторов движения на основе субблоков соответствует merge_flag=0 и inter_affine_flag=1. Когда merge_flag=0 и inter_affine_flag=1, cu_affine_type_flag дополнительно передается, чтобы определять число управляющих точек.Fig. 13 shows the meaning of each syntax element and the prediction method corresponding to it. The normal merging mode corresponds to merge_flag=1 and merge_affine_flag=0 and is not a sub-block based merging mode. The subblock-based merging mode corresponds to merge_flag=1 and merge_affine_flag=1. The normal motion vector predictor identification mode corresponds to merge_flag=0 and inter_affine_flag=0. The normal motion vector predictor identification mode is a motion vector predictor combining mode, which is not a subblock-based motion vector predictor identification mode. The subblock-based motion vector predictor identification mode corresponds to merge_flag=0 and inter_affine_flag=1. When merge_flag=0 and inter_affine_flag=1, cu_affine_type_flag is additionally passed to determine the number of control points.

[0028] POC [0028] POC

Номер в последовательности кадров (POC) представляет собой переменную, ассоциированную с кадром, который должен кодироваться, и задается равным значению, которое постепенно увеличивается на 1 согласно порядку вывода кадров. Согласно POC-значению, можно различать то, являются или нет кадры идентичными, чтобы различать переднезаднюю взаимосвязь между кадрами в порядке вывода или извлекать расстояние между кадрами. Например, если POC двух кадров имеют идентичное значение, может определяться то, что они представляют собой идентичный кадр. Когда POC двух кадров имеют различные значения, может определяться то, что кадр с меньшим POC-значением представляет собой кадр, который должен выводиться первым. Разность между POC двух кадров указывает межкадровое расстояние в направлении временной оси.A frame sequence number (POC) is a variable associated with a frame to be encoded and is set to a value that increments by 1 according to the frame output order. According to the POC value, it is possible to distinguish whether or not the frames are identical, to distinguish the anteroposterior relationship between frames in the output order, or to extract the distance between frames. For example, if the POCs of two frames have the same value, they may be determined to be the same frame. When the POCs of two frames have different values, it may be determined that the frame with the smaller POC value is the frame to be output first. The difference between the POC of two frames indicates the inter-frame distance in the direction of the time axis.

[0029] Первый вариант осуществления [0029] First Embodiment

В дальнейшем описываются устройство 100 кодирования кадров и устройство 200 декодирования кадров согласно первому варианту осуществления настоящего изобретения.In the following, the frame encoding apparatus 100 and the frame decoding apparatus 200 according to the first embodiment of the present invention will be described.

[0030] Фиг. 1 является блок-схемой устройства 100 кодирования кадров согласно первому варианту осуществления. Устройство 100 кодирования кадров согласно варианту осуществления включает в себя модуль 101 разбиения блоков, модуль 102 интер-предсказания, модуль 103 интра-предсказания, запоминающее устройство 104 декодированных кадров, модуль 105 определения способа предсказания, модуль 106 формирования остатков, модуль 107 ортогонального преобразования/квантования, модуль 108 кодирования битовых строк, модуль 109 обратного квантования/обратного ортогонального преобразования, модуль 110 наложения сигналов кадров для декодирования и запоминающее устройство 111 для хранения информации кодирования.[0030] FIG. 1 is a block diagram of a frame encoding apparatus 100 according to the first embodiment. The frame encoding apparatus 100 according to the embodiment includes a block splitting unit 101, an inter-prediction unit 102, an intra-prediction unit 103, a decoded frame memory 104, a prediction method determining unit 105, a residual unit 106, an orthogonal transformation/quantization unit 107 , a bit string encoding unit 108, an inverse quantization/inverse orthogonal transform unit 109, a frame signal overlay unit 110 for decoding, and a storage device 111 for storing encoding information.

[0031] Модуль 101 разбиения блоков рекурсивно разделяет входной кадр, чтобы формировать блок кодирования. Модуль 101 разбиения блоков включает в себя модуль квадратического разбиения, который разделяет разбитый целевой блок в горизонтальном направлении и в вертикальном направлении, и модуль двоичного/троичного разбиения, который разделяет разбитый целевой блок либо в горизонтальном направлении, либо в вертикальном направлении. Модуль 101 разбиения блоков задает сформированный блок кодирования в качестве целевого блока кодирования и предоставляет сигнал кадров целевого блока кодирования в модуль 102 интер-предсказания, модуль 103 интра-предсказания и модуль 106 формирования остатков. Кроме того, модуль 101 разбиения блоков предоставляет информацию, указывающую определенную структуру рекурсивного разбиения, в модуль 108 кодирования битовых строк. Ниже описывается подробная работа модуля 101 разбиения блоков.[0031] The block splitter 101 recursively splits the input frame to form a coding block. The block splitter 101 includes a quadratic splitter that splits a split target block in a horizontal direction and a vertical direction, and a binary/ternary splitter that splits a split target block in either the horizontal direction or the vertical direction. The block splitter 101 sets the generated coding block as the target coding block, and provides the frame signal of the target coding block to the inter-prediction module 102, the intra-prediction module 103, and the residual generation module 106 . In addition, the block splitter 101 provides information indicating the determined recursive split structure to the bit string encoding unit 108 . The detailed operation of the block splitter 101 will be described below.

[0032] Модуль 102 интер-предсказания выполняет интер-предсказание целевого блока кодирования. Модуль 102 интер-предсказания извлекает множество потенциально подходящих вариантов информации интер-предсказания из информации интер-предсказания, сохраненной в запоминающем устройстве 111 для хранения информации кодирования, и декодированного сигнала кадров, сохраненного в запоминающем устройстве 104 декодированных кадров, выбирает подходящий режим интер-предсказания из множества извлеченных потенциально подходящих вариантов и предоставляет выбранный режим интер-предсказания и предсказанный сигнал кадров согласно выбранному режиму интер-предсказания в модуль 105 определения способа предсказания. Ниже описывается подробная конфигурация и работа модуля 102 интер-предсказания.[0032] The inter-prediction unit 102 performs inter-prediction of the target coding block. The inter prediction unit 102 extracts a plurality of potentially suitable inter prediction information from the inter prediction information stored in the encoding information storage device 111 and the decoded frame signal stored in the decoded frame memory 104, selects an appropriate inter prediction mode from the plurality of retrieved potential candidates, and provides the selected inter-prediction mode and the predicted frame signal according to the selected inter-prediction mode to the prediction method determining unit 105 . The detailed configuration and operation of the inter-prediction module 102 is described below.

[0033] Модуль 103 интра-предсказания выполняет интра-предсказание целевого блока кодирования. Модуль 103 интра-предсказания ссылается на декодированный сигнал кадров, сохраненный в запоминающем устройстве 104 декодированных кадров в качестве опорной выборки, и формирует предсказанный сигнал кадров согласно интра-предсказанию на основе информации кодирования, такой как режим интра-предсказания, сохраненной в запоминающем устройстве 111 для хранения информации кодирования. При интра-предсказании, модуль 103 интра-предсказания выбирает подходящий режим интра-предсказания из множества режимов интра-предсказания и предоставляет выбранный режим интра-предсказания и предсказанный сигнал кадров согласно выбранному режиму интра-предсказания в модуль 105 определения способа предсказания.[0033] The intra prediction unit 103 performs intra prediction of the target coding block. The intra prediction unit 103 refers to the decoded frame signal stored in the decoded frame memory 104 as a reference sample, and generates a predicted frame signal according to the intra prediction based on encoding information such as an intra prediction mode stored in the memory 111 for storing coding information. In intra prediction, the intra prediction unit 103 selects a suitable intra prediction mode from a plurality of intra prediction modes, and provides the selected intra prediction mode and the predicted frame signal according to the selected intra prediction mode to the prediction method determination unit 105 .

Примеры интра-предсказания показаны на фиг. 10A и 10B. Фиг. 10A показывает соответствие между направлением предсказания интра-предсказания и номером режима интра-предсказания. Например, в режиме 50 интра-предсказания, кадр интра-предсказания формируется посредством копирования опорных выборок в вертикальном направлении. Режим 1 интра-предсказания представляет собой DC-режим и представляет собой режим, в котором все выборочные значения целевого блока составляют среднее значение опорных выборок. Режим 0 интра-предсказания представляет собой планарный режим и представляет собой режим для создания двумерного кадра интра-предсказания из опорных выборок в вертикальном и горизонтальном направлениях. Фиг. 10B представляет собой пример, в котором кадр интра-предсказания, формируется в случае режима 40 интра-предсказания. Модуль 103 интра-предсказания копирует значение опорной выборки в направлении, указываемом посредством режима интра-предсказания, относительно каждой выборки целевого блока. Когда опорная выборка режима интра-предсказания не находится в целочисленной позиции, модуль 103 интра-предсказания определяет опорное выборочное значение согласно интерполяции из опорных выборочных значений соседних целочисленных позиций.Examples of intra-prediction are shown in FIG. 10A and 10B. Fig. 10A shows the correspondence between the intra-prediction prediction direction and the intra-prediction mode number. For example, in intra-prediction mode 50, an intra-prediction frame is generated by copying reference samples in the vertical direction. Intra-prediction mode 1 is a DC mode, and is a mode in which all sample values of the target block average the value of the reference samples. Intra-prediction mode 0 is a planar mode, and is a mode for creating a two-dimensional intra-prediction frame from reference samples in the vertical and horizontal directions. Fig. 10B is an example in which an intra prediction frame is generated in the case of the intra prediction mode 40 . The intra prediction unit 103 copies the value of the reference sample in the direction indicated by the intra prediction mode with respect to each target block sample. When the intra prediction mode reference sample is not at an integer position, the intra prediction module 103 determines the reference sample value according to interpolation from the reference sample values of neighboring integer positions.

[0034] Запоминающее устройство 104 декодированных кадров сохраняет декодированный кадр, сформированный посредством модуля 110 наложения сигналов кадров для декодирования. Запоминающее устройство 104 декодированных кадров предоставляет сохраненный декодированный кадр в модуль 102 интер-предсказания и модуль 103 интра-предсказания.[0034] The decoded frame memory 104 stores the decoded frame generated by the frame signal superposition unit 110 for decoding. The decoded frame memory 104 provides the stored decoded frame to the inter prediction module 102 and the intra prediction module 103 .

[0035] Модуль 105 определения способа предсказания определяет оптимальный режим предсказания посредством оценки каждого интра-предсказания и интер-предсказания с использованием информации кодирования, остаточного объема кода, величины искажения между предсказанным сигналом кадров и целевым сигналом кадров и т.п. В случае интра-предсказания, модуль 105 определения способа предсказания предоставляет информацию интра-предсказания, такую как режим интра-предсказания, в качестве информации кодирования в модуль 108 кодирования битовых строк. В случае режима интер-предсказанного объединения, модуль 105 определения способа предсказания предоставляет информацию интер-предсказания, такую как индекс объединения и информация, указывающая то, представляет режим собой или нет режим объединения на основе субблоков (флаг объединения на основе субблоков), в качестве информации кодирования в модуль 108 кодирования битовых строк. В случае режима идентификации предикторов векторов движения интер-предсказания, модуль 105 определения способа предсказания предоставляет информацию интер-предсказания, такую как режим интер-предсказания, индекс предиктора вектора движения, опорные индексы L0 и L1, разность векторов движения и информация, указывающая то, представляет режим собой или нет режим идентификации предикторов векторов движения на основе субблоков (флаг предиктора вектора движения на основе субблоков), в качестве информации кодирования в модуль 108 кодирования битовых строк. Дополнительно, модуль 105 определения способа предсказания предоставляет определенную информацию кодирования в запоминающее устройство 111 для хранения информации кодирования. Модуль 105 определения способа предсказания предоставляет предсказанный сигнал кадров в модуль 106 формирования остатков и модуль 110 наложения сигналов кадров для декодирования.[0035] The prediction method determining unit 105 determines the optimal prediction mode by evaluating each intra-prediction and inter-prediction using coding information, residual code amount, amount of distortion between the predicted frame signal and the target frame signal, and the like. In the case of intra prediction, the prediction method determination unit 105 provides intra prediction information such as the intra prediction mode as encoding information to the bit string encoding unit 108 . In the case of the inter-predicted combining mode, the prediction method determination unit 105 provides inter-prediction information such as the combining index and information indicating whether or not the mode is a sub-block combining mode (sub-block combining flag) as information encoding module 108 encoding bit strings. In the case of the inter prediction motion vector predictor identification mode, the prediction method determination unit 105 provides inter prediction information such as the inter prediction mode, motion vector predictor index, reference indices L0 and L1, motion vector difference, and information indicating whether a sub-frame motion vector predictor identification mode (sub-frame motion vector predictor flag) as itself or not, as encoding information to the bit string encoding unit 108 . Further, the prediction method determination unit 105 provides certain encoding information to the storage device 111 for storing encoding information. The prediction method determination unit 105 provides the predicted frame signal to the residual generation unit 106 and the frame signal overlay unit 110 for decoding.

[0036] Модуль 106 формирования остатков формирует остаток посредством вычитания предсказанного сигнала кадров из целевого сигнала кадров и предоставляет остаток в модуль 107 ортогонального преобразования/квантования.[0036] The residual generator 106 generates a residual by subtracting the predicted frame signal from the target frame signal, and provides the residual to the orthogonal transform/quantization module 107.

[0037] Модуль 107 ортогонального преобразования/квантования выполняет ортогональное преобразование и квантование для остатка в соответствии с параметром квантования, чтобы формировать ортогонально преобразованный/квантованный остаток, и предоставляет сформированный остаток в модуль 108 кодирования битовых строк и модуль 109 обратного квантования/обратного ортогонального преобразования.[0037] The orthogonal transform/quantization unit 107 performs orthogonal transformation and quantization on the residual according to the quantization parameter to generate an orthogonally transformed/quantized residual, and provides the generated residual to the bit string encoding unit 108 and the inverse quantization/inverse orthogonal transform unit 109.

[0038] Модуль 108 кодирования битовых строк кодирует информацию кодирования согласно способу предсказания, определенному посредством модуля 105 определения способа предсказания для каждого блока кодирования, в дополнение к информации единиц последовательностей, кадров, срезов и блоков кодирования. В частности, модуль 108 кодирования битовых строк кодирует режим PredMode предсказания для каждого блока кодирования. Когда режим предсказания представляет собой интер-предсказание (MODE_INTER), модуль 108 кодирования битовых строк кодирует информацию кодирования (информацию интер-предсказания), такую как флаг для различения того, представляет или нет режим собой режим объединения, флаг объединения на основе субблоков, индекс объединения, когда режим представляет собой режим объединения, режим интер-предсказания, когда режим не представляет собой режим объединения, индекс предиктора вектора движения, информация относительно разности векторов движения и флаг предиктора вектора движения на основе субблоков в соответствии с указанным синтаксисом (синтаксическим правилом для битовых строк) и формирует первые битовые строки. Когда режим предсказания представляет собой интра-предсказание (MODE_INTRA), информация кодирования (информация интра-предсказания), такая как режим интра-предсказания кодируется в соответствии с указанным синтаксисом (синтаксическим правилом для битовых строк), и первые битовые строки формируются. Кроме того, модуль 108 кодирования битовых строк энтропийно кодирует ортогонально преобразованный и квантованный остаток в соответствии с указанным синтаксисом, чтобы формировать вторые битовые строки. Модуль 108 кодирования битовых строк мультиплексирует первые битовые строки и вторые битовые строки в соответствии с указанным синтаксисом и выводит поток битов.[0038] The bit string encoding unit 108 encodes encoding information according to the prediction method determined by the prediction method determination unit 105 for each coding block, in addition to information of units of sequences, frames, slices, and coding blocks. In particular, the bitstring encoding unit 108 encodes the prediction mode PredMode for each coding block. When the prediction mode is inter prediction (MODE_INTER), the bit string encoding unit 108 encodes encoding information (inter prediction information) such as a flag for distinguishing whether or not the mode is a combining mode, a combining flag based on subblocks, a combining index when the mode is a pooling mode, the inter-prediction mode when the mode is not a pooling mode, the motion vector predictor index, the motion vector difference information, and the motion vector predictor flag based on sub-blocks according to the specified syntax (syntax rule for bit strings ) and forms the first bit strings. When the prediction mode is intra prediction (MODE_INTRA), encoding information (intra prediction information) such as intra prediction mode is encoded according to a specified syntax (syntax rule for bit strings), and first bit strings are generated. In addition, the bit string encoding unit 108 entropy encodes the orthogonally transformed and quantized residual according to the specified syntax to generate second bit strings. The bit string encoding unit 108 multiplexes the first bit strings and the second bit strings according to the specified syntax, and outputs a bitstream.

[0039] Модуль 109 обратного квантования/обратного ортогонального преобразования вычисляет остаток посредством выполнения обратного квантования и обратного ортогонального преобразования для ортогонально преобразованного/квантованного остатка, предоставляемого из модуля 107 ортогонального преобразования/квантования, и предоставляет вычисленный остаток в модуль 110 наложения сигналов кадров для декодирования.[0039] The inverse quantization/inverse orthogonal transform unit 109 calculates the residual by performing inverse quantization and inverse orthogonal transform on the orthogonally transformed/quantized residual provided from the orthogonal transform/quantization unit 107, and provides the calculated residual to the frame signal overlay unit 110 for decoding.

[0040] Модуль 110 наложения сигналов кадров для декодирования накладывает предсказанный сигнал кадров согласно определению модуля 105 определения способа предсказания и остаток, обратно квантованный и обратно ортогонально преобразованный посредством модуля 109 обратного квантования/обратного ортогонального преобразования, чтобы формировать декодированный кадр, и сохраняет декодированный кадр в запоминающем устройстве 104 декодированных кадров. Кроме того, модуль 110 наложения сигналов кадров для декодирования может сохранять декодированный кадр в запоминающем устройстве 104 декодированных кадров после выполнения процесса фильтрации для уменьшения искажения, такого как искажение в виде блочности вследствие кодирования для декодированного кадра.[0040] The frame signal superposition unit 110 for decoding superimposes the predicted frame signal according to the definition of the prediction method determination unit 105 and the residual inversely quantized and inversely orthogonally transformed by the inverse quantization/inverse orthogonal transform unit 109 to generate a decoded frame, and stores the decoded frame in storage device 104 decoded frames. In addition, the frame signal superposition module 110 for decoding may store the decoded frame in the decoded frame memory 104 after performing a filtering process to reduce distortion such as blocking due to encoding for the decoded frame.

[0041] Запоминающее устройство 111 для хранения информации кодирования сохраняет информацию кодирования, такую как режим предсказания (интер-предсказание или интра-предсказание), определенный посредством модуля 105 определения способа предсказания. В случае интер-предсказания, информация кодирования, сохраненная в запоминающем устройстве 111 для хранения информации кодирования, включает в себя информацию интер-предсказания, такую как определенный вектор движения, опорные индексы опорных списков L0 и L1 и списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Кроме того, в случае режима интер-предсказанного объединения, информация кодирования, сохраненная в запоминающем устройстве 111 для хранения информации кодирования, включает в себя информацию интер-предсказания, такую как индекс объединения и информация, указывающая то, представляет режим собой или нет режим объединения на основе субблоков (флаг объединения на основе субблоков), в дополнение к вышеописанной информации. Кроме того, в случае режима идентификации предикторов векторов движения интер-предсказания, информация кодирования, сохраненная в запоминающем устройстве 111 для хранения информации кодирования, включает в себя информацию интер-предсказания, такую как режим интер-предсказания, индекс предиктора вектора движения, разность векторов движения и информация, указывающая то, представляет режим собой или нет режим идентификации предикторов векторов движения на основе субблоков (флаг предиктора вектора движения на основе субблоков), в дополнение к вышеописанной информации. В случае интра-предсказания, информация кодирования, сохраненная в запоминающем устройстве 111 для хранения информации кодирования, включает в себя информацию интра-предсказания, такую как определенный режим интра-предсказания.[0041] The encoding information storage 111 stores encoding information such as a prediction mode (inter-prediction or intra-prediction) determined by the prediction method determination unit 105 . In the case of inter prediction, the encoding information stored in the encoding information storage device 111 includes inter prediction information such as a determined motion vector, reference indexes of reference lists L0 and L1, and a list of potentially suitable motion vector predictor candidates based on background. In addition, in the case of the inter-predicted combining mode, the encoding information stored in the encoding information storage device 111 includes inter-prediction information such as the combining index and information indicating whether or not the mode is a combining mode on sub-unit basis (sub-unit-based merge flag), in addition to the above information. In addition, in the case of the inter prediction motion vector predictor identification mode, encoding information stored in the encoding information storage device 111 includes inter prediction information such as inter prediction mode, motion vector predictor index, motion vector difference and information indicating whether or not the mode is a sub-frame motion vector predictor identification mode (sub-frame motion vector predictor flag), in addition to the above-described information. In the case of intra prediction, the encoding information stored in the encoding information storage device 111 includes intra prediction information such as a specific intra prediction mode.

[0042] Фиг. 2 является блок-схемой, показывающей конфигурацию устройства декодирования кадров согласно варианту осуществления настоящего изобретения, соответствующего устройству кодирования кадров по фиг. 1. Устройство декодирования кадров согласно варианту осуществления включает в себя модуль 201 декодирования битовых строк, модуль 202 разбиения блоков, модуль 203 интер-предсказания, модуль 204 интра-предсказания, запоминающее устройство 205 для хранения информации кодирования, модуль 206 обратного квантования/обратного ортогонального преобразования, модуль 207 наложения сигналов кадров для декодирования и запоминающее устройство 208 декодированных кадров.[0042] FIG. 2 is a block diagram showing the configuration of a frame decoding apparatus according to an embodiment of the present invention corresponding to the frame encoding apparatus of FIG. 1. The frame decoding apparatus according to the embodiment includes a bit string decoding unit 201, a block splitting unit 202, an inter prediction unit 203, an intra prediction unit 204, an encoding information storage unit 205, an inverse quantization/inverse orthogonal transformation unit 206 , a frame overlay module 207 for decoding, and a decoded frame memory 208 .

[0043] Поскольку процесс декодирования устройства декодирования кадров по фиг. 2 соответствует процессу декодирования, предоставленному в устройстве кодирования кадров по фиг. 1, компоненты запоминающего устройства 205 для хранения информации кодирования, модуля 206 обратного квантования/обратного ортогонального преобразования, модуля 207 наложения сигналов кадров для декодирования и запоминающего устройства 208 декодированных кадров по фиг. 2 имеют функции, соответствующие компонентам запоминающего устройства 111 для хранения информации кодирования, модуля 109 обратного квантования/обратного ортогонального преобразования, модуля 110 наложения сигналов кадров для декодирования и запоминающего устройства 104 декодированных кадров устройства кодирования кадров по фиг. 1.[0043] Since the decoding process of the frame decoder of FIG. 2 corresponds to the decoding process provided in the frame encoder of FIG. 1, components of the memory 205 for storing encoding information, the inverse quantization/inverse orthogonal transform unit 206, the frame signal superposition unit 207 for decoding, and the decoded frame memory 208 of FIG. 2 have functions corresponding to the components of the memory 111 for storing encoding information, the inverse quantization/inverse orthogonal transform unit 109, the frame signal overlay unit 110 for decoding, and the decoded frame memory 104 of the frame encoding apparatus of FIG. one.

[0044] Поток битов, предоставляемый в модуль 201 декодирования битовых строк, разделяется в соответствии с указанным синтаксическим правилом. Модуль 201 декодирования битовых строк декодирует отделенную первую битовую строку и получает информацию единиц последовательностей, кадров, срезов, блоков кодирования и информацию кодирования единиц блоков кодирования. В частности, модуль 201 декодирования битовых строк декодирует режим PredMode предсказания для различения интер-предсказания (MODE_INTER) или интра-предсказания (MODE_INTRA) в единицах блоков кодирования. Когда режим предсказания представляет собой интер-предсказание (MODE_INTER), модуль 201 декодирования битовых строк декодирует информацию кодирования (информацию интер-предсказания) относительно флага для различения того, представляет или нет режим собой режим объединения, индекс объединения, когда режим представляет собой режим объединения, флаг объединения на основе субблоков, режим интер-предсказания, когда режим представляет собой режим идентификации предикторов векторов движения, индекс предиктора вектора движения, разность векторов движения, флаг предиктора вектора движения на основе субблоков и т.п. в соответствии с указанным синтаксисом и предоставляет информацию кодирования (информацию интер-предсказания) в запоминающее устройство 205 для хранения информации кодирования через модуль 203 интер-предсказания и модуль 202 разбиения блоков. Когда режим предсказания представляет собой интра-предсказание (MODE_INTRA), информация кодирования (информация интра-предсказания), такая как режим интра-предсказания декодируется в соответствии с указанным синтаксисом, и информация кодирования (информация интра-предсказания) предоставляется в запоминающее устройство 205 для хранения информации кодирования через модуль 203 интер-предсказания или модуль 204 интра-предсказания и модуль 202 разбиения блоков. Модуль 201 декодирования битовых строк декодирует отделенные вторые битовые строки, чтобы вычислять ортогонально преобразованный/квантованный остаток, и предоставляет ортогонально преобразованный/квантованный остаток в модуль 206 обратного квантования/обратного ортогонального преобразования.[0044] The bit stream provided to the bit string decoding module 201 is divided according to the specified syntax rule. The bit string decoding unit 201 decodes the separated first bit string and obtains information of sequence units, frames, slices, coding units, and coding information of coding units. Specifically, the bit string decoding unit 201 decodes the prediction mode PredMode to distinguish between inter-prediction (MODE_INTER) or intra-prediction (MODE_INTRA) in units of coding blocks. When the prediction mode is inter prediction (MODE_INTER), the bit string decoding unit 201 decodes coding information (inter prediction information) regarding a flag to distinguish whether or not the mode is a combining mode, a combining index when the mode is a combining mode, a sub-block combining flag, an inter-prediction mode when the mode is a motion vector predictor identification mode, a motion vector predictor index, a motion vector difference, a sub-block motion vector predictor flag, and the like. according to the specified syntax, and provides encoding information (inter prediction information) to the encoding information storage device 205 via the inter prediction unit 203 and the block splitter 202 . When the prediction mode is intra prediction (MODE_INTRA), encoding information (intra prediction information) such as the intra prediction mode is decoded according to the specified syntax, and encoding information (intra prediction information) is provided to the memory 205 for storage. encoding information through the inter prediction module 203 or the intra prediction module 204 and the block splitter 202 . The bit string decoding module 201 decodes the separated second bit strings to calculate an orthogonally transformed/quantized residual, and provides the orthogonally transformed/quantized residual to the inverse quantization/inverse orthogonal transform module 206 .

[0045] Когда режим PredMode предсказания целевого блока кодирования представляет собой режим идентификации предикторов векторов движения при интер-предсказании (MODE_INTER), модуль 203 интер-предсказания извлекает множество потенциально подходящих вариантов предикторов векторов движения с использованием информации кодирования ранее декодированного сигнала кадров, сохраненной в запоминающем устройстве 205 для хранения информации кодирования, и регистрирует множество извлеченных потенциально подходящих вариантов предикторов векторов движения в списке потенциально подходящих вариантов предикторов векторов движения, который описывается ниже. Модуль 203 интер-предсказания выбирает предиктор вектора движения согласно индексу предиктора вектора движения, декодированному и предоставляемому посредством модуля 201 декодирования битовых строк, из множества потенциально подходящих вариантов предикторов векторов движения, зарегистрированных в списке потенциально подходящих вариантов предикторов векторов движения, вычисляет вектор движения из разности векторов движения, декодированной посредством модуля 201 декодирования битовых строк, и выбранного предиктора вектора движения, и сохраняет вычисленный вектор движения в запоминающем устройстве 205 для хранения информации кодирования вместе с другой информацией кодирования. Информация кодирования блока кодирования, предоставляемая/сохраненная здесь, представляет собой режим PredMode предсказания, флаги predFlagL0[xP][yP] и predFlagL1[xP][yP], указывающие то, следует использовать L0-предсказание и L1-предсказание, опорные индексы refIdxL0[xP][yP] и refIdxL1[xP][yP] L0 и L1, векторы mvL0[xP][yP] и mvL1[xP][yP] движения L0 и L1 и т.п. Здесь, xP и yP представляют собой индексы, указывающие позицию верхней левой выборки блока кодирования в кадре. Когда режим PredMode предсказания представляет собой интер-предсказание (MODE_INTER), и режим интер-предсказания представляет собой L0-предсказание (Pred_L0), флаг predFlagL0, указывающий то, следует или нет использовать L0-предсказание, равен 1, и флаг predFlagL1, указывающий то, следует или нет использовать L1-предсказание, равен 0. Когда режим интер-предсказания представляет собой L1-предсказание (Pred_L1), флаг predFlagL0, указывающий то, следует или нет использовать L0-предсказание, равен, 0 и флаг predFlagL1, указывающий то, следует или нет использовать L1-предсказание, равен 1. Когда режим интер-предсказания представляет собой бипредсказание (Pred_BI), и флаг predFlagL0, указывающий то, следует или нет использовать L0-предсказание, и флаг predFlagL1, указывающий то, следует или нет использовать L1-предсказание, равны 1. Дополнительно, потенциально подходящие варианты объединения извлекаются в режиме объединения, в котором режим PredMode предсказания блока кодирования цели представляет собой интер-предсказание (MODE_INTER). Множество потенциально подходящих вариантов объединения извлекаются с использованием информации кодирования ранее декодированных блоков кодирования, сохраненной в запоминающем устройстве 205 для хранения информации кодирования, и регистрируются в списке потенциально подходящих вариантов объединения, который описывается ниже, потенциально подходящий вариант объединения, соответствующий индексу объединения, который должен декодироваться и предоставляться посредством модуля 201 декодирования битовых строк, выбирается из множества потенциально подходящих вариантов объединения, зарегистрированных в списке потенциально подходящих вариантов объединения, и информация интер-предсказания, такая как флаги predFlagL0[xP][yP] и predFlagL1[xP][yP], указывающие то, следует или нет использовать L0-предсказание и L1-предсказание выбранного потенциально подходящего варианта объединения, опорные индексы refIdxL0[xP][yP] и refIdxL1[xP][yP] L0 и L1 и векторы mvL0[xP][yP] и mvL1[xP][yP] движения L0 и L1, сохраняется в запоминающем устройстве 205 для хранения информации кодирования. Здесь, xP и yP представляют собой индексы, указывающие позицию верхней левой выборки блока кодирования в кадре. Ниже описывается подробная конфигурация и работа модуля 203 интер-предсказания.[0045] When the prediction mode PredMode of the target coding block is the inter-prediction motion vector predictor identification mode (MODE_INTER), the inter-prediction module 203 extracts a plurality of potentially suitable motion vector predictor cases using the encoding information of the previously decoded frame signal stored in the memory the coding information storage device 205, and registers the plurality of extracted motion vector predictor candidates in a motion vector predictor candidate list, which is described below. The inter-prediction unit 203 selects a motion vector predictor according to the motion vector predictor index decoded and provided by the bit string decoding unit 201 from a plurality of motion vector predictor candidate candidates registered in the motion vector predictor candidate candidate list, calculates a motion vector from the vector difference motion decoded by the bit string decoding unit 201 and the selected motion vector predictor, and stores the calculated motion vector in the memory 205 for storing encoding information along with other encoding information. The encoding information of the coding unit provided/stored here is the prediction mode PredMode, flags predFlagL0[xP][yP] and predFlagL1[xP][yP] indicating whether L0 prediction and L1 prediction should be used, reference indices refIdxL0[ xP][yP] and refIdxL1[xP][yP] L0 and L1, vectors mvL0[xP][yP] and mvL1[xP][yP] of movement L0 and L1, etc. Here, xP and yP are indices indicating the position of the top left coding block sample in the frame. When the prediction mode PredMode is inter prediction (MODE_INTER) and the inter prediction mode is L0 prediction (Pred_L0), the predFlagL0 flag indicating whether or not to use L0 prediction is 1, and the predFlagL1 flag indicating whether whether or not to use L1 prediction is 0. When the inter-prediction mode is L1 prediction (Pred_L1), the predFlagL0 flag indicating whether or not to use L0 prediction is 0, and the predFlagL1 flag indicating whether whether or not to use L1 prediction is 1. When the inter-prediction mode is bi-prediction (Pred_BI), and predFlagL0 indicating whether or not to use L0 prediction, and predFlagL1 indicating whether or not to use L1 - prediction are equal to 1. Additionally, potentially suitable combining options are extracted in a combining mode in which the PredMode of the target coding block prediction is It is an inter-prediction (MODE_INTER). A plurality of candidate joins are retrieved using the encoding information of previously decoded coding blocks stored in the encoding information storage device 205, and registered in a list of candidate joins, which is described below, the join candidate corresponding to the join index to be decoded. and provided by the bit string decoding unit 201 is selected from a plurality of candidate joins registered in the list of candidate joins, and inter-prediction information such as flags predFlagL0[xP][yP] and predFlagL1[xP][yP], indicating whether or not to use L0-prediction and L1-prediction of the selected potentially suitable join option, reference indices refIdxL0[xP][yP] and refIdxL1[xP][yP] L0 and L1, and vectors mvL0[xP][yP] and mvL1[xP][yP] movements L0 and L1, with stored in the storage device 205 for storing encoding information. Here, xP and yP are indices indicating the position of the top left coding block sample in the frame. The detailed configuration and operation of the inter-prediction module 203 is described below.

[0046] Модуль 204 интра-предсказания выполняет интра-предсказание, когда режим PredMode предсказания блока кодирования цели представляет собой интра-предсказание (MODE_INTRA). Информация кодирования, декодированная посредством модуля 201 декодирования битовых строк, включает в себя режим интра-предсказания. Модуль 204 интра-предсказания формирует предсказанный сигнал кадров согласно интра-предсказанию из декодированного сигнала кадров, сохраненного в запоминающем устройстве 208 декодированных кадров, в соответствии с режимом интра-предсказания, включенным в информацию кодирования, декодированную посредством модуля 201 декодирования битовых строк, и предоставляет сформированный предсказанный сигнал кадров в модуль 207 наложения сигналов кадров для декодирования. Поскольку модуль 204 интра-предсказания соответствует модулю 103 интра-предсказания устройства 100 кодирования кадров, процесс, аналогичный процессу модуля 103 интра-предсказания, выполняется.[0046] The intra prediction module 204 performs intra prediction when the prediction mode PredMode of the target coding block is intra prediction (MODE_INTRA). The encoding information decoded by the bit string decoding unit 201 includes an intra prediction mode. The intra prediction unit 204 generates a predicted frame signal according to the intra prediction from the decoded frame signal stored in the decoded frame memory 208 according to the intra prediction mode included in the encoding information decoded by the bit string decoding unit 201, and provides the generated the predicted frame signal to the frame signal overlay unit 207 for decoding. Since the intra prediction unit 204 corresponds to the intra prediction unit 103 of the frame encoding apparatus 100, a process similar to that of the intra prediction unit 103 is performed.

[0047] Модуль 206 обратного квантования/обратного ортогонального преобразования выполняет обратное ортогональное преобразование и обратное квантование для ортогонально преобразованного/квантованного остатка, декодированного посредством модуля 201 декодирования битовых строк, и получает обратно ортогонально преобразованный/обратно квантованный остаток.[0047] The inverse quantization/inverse orthogonal transform unit 206 performs inverse orthogonal transform and inverse quantization on the orthogonally transformed/quantized residual decoded by the bit string decoding unit 201, and obtains the orthogonally transformed/inversely quantized residual.

[0048] Модуль 207 наложения сигналов кадров для декодирования декодирует сигнал кадров для декодирования посредством наложения предсказанного сигнала кадров, интер-предсказанного посредством модуля 203 интер-предсказания, или предсказанного сигнала кадров, интра-предсказанного посредством модуля 204 интра-предсказания, и остатка, обратно ортогонально преобразованного/обратно квантованного посредством модуля 206 обратного квантования/обратного ортогонального преобразования, и сохраняет декодированный сигнал кадров для декодирования в запоминающем устройстве 208 декодированных кадров. Во время хранения в запоминающем устройстве 208 декодированных кадров, модуль 207 наложения сигналов кадров для декодирования может сохранять декодированный кадр в запоминающем устройстве 208 декодированных кадров после того, как процесс фильтрации для уменьшения искажения в виде блочности и т.п. вследствие кодирования выполняется для декодированного кадра.[0048] The decoding frame signal overlay unit 207 decodes the frame signal for decoding by overlaying the predicted frame signal inter-predicted by the inter-prediction unit 203 or the predicted frame signal intra-predicted by the intra prediction unit 204 and the remainder, back orthogonally transformed/inversely quantized by the inverse quantization/inverse orthogonal transform unit 206, and stores the decoded frame signal for decoding in the decoded frame memory 208 . While storing the decoded frames in the memory 208, the decoding frame signal superposition unit 207 may store the decoded frame in the decoded frame memory 208 after the filtering process to reduce blocking distortion or the like is applied. due to encoding is performed for the decoded frame.

[0049] Далее описывается работа модуля 101 разбиения блоков в устройстве 100 кодирования кадров. Фиг. 3 является блок-схемой последовательности операций способа, показывающей операцию разделения кадра на древовидные блоки и дополнительного разделения каждого древовидного блока. Во-первых, входной кадр разделяется на древовидные блоки, имеющие предварительно определенный размер (этап S1001). Каждый древовидный блок сканируется в предварительно определенном порядке, т.е. в порядке растрового сканирования (этап S1002), и внутренняя часть древовидного блока цели разделяется (этап S1003).[0049] Next, the operation of the block splitter 101 in the frame encoding device 100 will be described. Fig. 3 is a flowchart showing the operation of dividing a frame into treeblocks and further dividing each treeblock. First, the input frame is divided into tree blocks having a predetermined size (step S1001). Each treeblock is scanned in a predetermined order, i.e. in raster scan order (step S1002), and the inside of the target tree block is divided (step S1003).

[0050] Фиг. 7 является блок-схемой последовательности операций способа, показывающей подробную работу процесса разбиения этапа S1003. Во-первых, определяется то, должен или нет целевой блок разделяться на четыре части (этап S1101).[0050] FIG. 7 is a flowchart showing the detailed operation of the partitioning process of step S1003. First, it is determined whether or not the target block is to be divided into four parts (step S1101).

[0051] Когда определяется то, что целевой блок должен разделяться на четыре части, целевой блок разделяется на четыре части (этап S1102). Каждый блок, полученный посредством разделения целевого блока, сканируется в порядке Z-сканирования, т.е. в порядке верхней левой, верхней правой, нижней левой и нижней правой частей (этап S1103). Фиг. 5 показывает пример порядка Z-сканирования, и ссылка с номером 601 по фиг. 6A показывает пример, в котором целевой блок разделяется на четыре части. Числа 0-3 ссылки с номером 601 по фиг. 6A указывают порядок обработки. Затем процесс разбиения по фиг. 7 рекурсивно выполняется для каждого блока из разделения на этапе S1101 (этап S1104).[0051] When it is determined that the target block is to be divided into four parts, the target block is divided into four parts (step S1102). Each block obtained by splitting the target block is scanned in Z-scan order, i.e. in the order of top left, top right, bottom left, and bottom right (step S1103). Fig. 5 shows an example of a Z-scan order, and reference number 601 in FIG. 6A shows an example in which the target block is divided into four parts. Numbers 0-3 of reference number 601 in FIG. 6A indicate the processing order. Then, the partitioning process of FIG. 7 is recursively executed for each block from the division in step S1101 (step S1104).

[0052] Когда определяется то, что целевой блок не должен разделяться на четыре части, двоичное/троичное разбиение выполняется (этап S1105).[0052] When it is determined that the target block is not to be quadrupled, binary/ternary splitting is performed (step S1105).

[0053] Фиг. 8 является блок-схемой последовательности операций способа, показывающей подробную работу процесса двоичного/троичного разбиения этапа S1105. Во-первых, определяется то, должен либо нет целевой блок разделяться на две или три части, т.е. то, должно либо нет выполняться двоичное или троичное разбиение (этап S1201).[0053] FIG. 8 is a flowchart showing the detailed operation of the binary/ternary partitioning process of step S1105. First, it is determined whether or not the target block should be divided into two or three parts, i.e. then whether or not binary or ternary partitioning is to be performed (step S1201).

[0054] Когда не определяется то, что целевой блок должен разделяться на две или три части, т.е. когда определяется то, что целевой блок не должен разделяться, разбиение завершается (этап S1211). Таким образом, процесс рекурсивного разбиения дополнительно не выполняется для блоков, разделенных согласно процессу рекурсивного разбиения.[0054] When it is not determined that the target block should be divided into two or three parts, i.e. when it is determined that the target block is not to be split, splitting is completed (step S1211). Thus, the recursive partitioning process is further not performed for the blocks divided according to the recursive partitioning process.

[0055] Когда определяется то, что целевой блок должен разделяться на две или три части, дополнительно определяется то, должен или нет целевой блок разделяться на две части (этап S1202).[0055] When it is determined that the target block is to be divided into two or three parts, it is further determined whether or not the target block is to be divided into two parts (step S1202).

[0056] Когда определяется то, что целевой блок должен разделяться на две части, определяется то, должен или нет целевой блок разделяться на верхнюю и нижнюю части (в вертикальном направлении) (этап S1203). На основе результата определения, целевой блок разделяется на две части, которые представляют собой верхнюю и нижнюю части (в вертикальном направлении) (этап S1204), или целевой блок разделяется на две части, которые представляют собой левую и правую части (в горизонтальном направлении) (этап S1205). Как результат этапа S1204, целевой блок разделяется на две части, которые представляют собой верхнюю и нижнюю части (в вертикальном направлении), как указано посредством ссылки с номером 602 на фиг. 6B. Как результат этапа S1205, целевой блок разделяется на две части, которые представляют собой левую и правую части (в горизонтальном направлении), как указано посредством ссылки с номером 604 по фиг. 6D.[0056] When it is determined that the target block is to be divided into two parts, it is determined whether or not the target block is to be divided into upper and lower parts (in the vertical direction) (step S1203). Based on the determination result, the target block is divided into two parts that are upper and lower parts (in the vertical direction) (step S1204), or the target block is divided into two parts that are left and right parts (in the horizontal direction) ( step S1205). As a result of step S1204, the target block is divided into two parts, which are upper and lower parts (in the vertical direction) as indicated by reference 602 in FIG. 6b. As a result of step S1205, the target block is divided into two parts, which are left and right parts (in the horizontal direction), as indicated by reference number 604 in FIG. 6d.

[0057] Когда не определяется то, что целевой блок должен разделяться на две части, т.е. когда определяется то, что целевой блок должен разделяться на три части, на этапе S1202, определяется то, должен или нет целевой блок разделяться на верхнюю, среднюю и нижнюю части (в вертикальном направлении) (этап S1206). На основе результата определения, целевой блок разделяется на три части, которые представляют собой верхнюю, среднюю и нижнюю части (в вертикальном направлении) (этап S1207), или целевой блок разделяется на три части, которые представляют собой левую, среднюю и правую части (в горизонтальном направлении) (этап S1208). Как результат этапа S1207, целевой блок разделяется на три части, которые представляют собой верхнюю, среднюю и нижнюю части (в вертикальном направлении), как указано посредством ссылки с номером 603 по фиг. 6C. Как результат этапа S1208, целевой блок разделяется на три части, которые представляют собой левую, среднюю и правую части (в горизонтальном направлении), как указано посредством ссылки с номером 605 по фиг. 6E.[0057] When it is not determined that the target block should be divided into two parts, i.e. when it is determined that the target block is to be divided into three parts, in step S1202, it is determined whether or not the target block is to be divided into upper, middle and lower parts (in the vertical direction) (step S1206). Based on the determination result, the target block is divided into three parts that are top, middle and bottom (in the vertical direction) (step S1207), or the target block is divided into three parts that are left, middle and right (in horizontal direction) (step S1208). As a result of step S1207, the target block is divided into three parts, which are upper, middle, and lower parts (in the vertical direction) as indicated by reference 603 in FIG. 6C. As a result of step S1208, the target block is divided into three parts, which are left, middle, and right parts (in the horizontal direction) as indicated by reference 605 in FIG. 6E.

[0058] После того, как любой из этапов S1204, S1205, S1207 и S1208 выполняется, каждый из блоков, на которые разделяется целевой блок, сканируется в порядке слева направо и сверху вниз (этапе S1209). Номера 0-2 ссылок с номерами 602-605 по фиг. 6B в 6E указывают порядок обработки. Для каждого из блоков, на которые разделяется целевой блок, процесс двоичного/троичного разбиения по фиг. 8 рекурсивно выполняется (этап S1210).[0058] After any of steps S1204, S1205, S1207, and S1208 are executed, each of the blocks into which the target block is divided is scanned in order from left to right and top to bottom (step S1209). Reference numbers 0-2 602-605 of FIG. 6B to 6E indicate the processing order. For each of the blocks into which the target block is divided, the binary/ternary partitioning process of FIG. 8 is recursively executed (step S1210).

[0059] Рекурсивное разбиение блоков, описанное здесь, может ограничивать необходимость разбиения согласно числу разбиений или размеру целевого блока и т.п. Информация, которая ограничивает необходимость разбиения, может реализовываться посредством конфигурации, в которой информация не доставляется посредством выполнения согласования между устройством кодирования и устройством декодирования заранее, либо реализовываться посредством конфигурации, в которой устройство кодирования определяет информацию, которая ограничивает необходимость разбиения, записывает информацию в битовую строку и доставляет информацию в устройство декодирования.[0059] The recursive block splitting described here may limit the need for splitting according to the number of splits or target block size, or the like. The information that limits the need for splitting may be realized by a configuration in which information is not delivered by performing negotiation between the encoding device and the decoding device in advance, or implemented by a configuration in which the encoding device determines information that limits the need for splitting, writes information to a bit string. and delivers the information to the decoding device.

[0060] Когда определенный блок разделяется, блок перед разбиением называется "родительским блоком", и каждый блок после разбиения называется "дочерним блоком".[0060] When a certain block is split, the block before splitting is called a "parent block", and each block after splitting is called a "child block".

[0061] Далее описывается работа модуля 202 разбиения блоков в устройстве 200 декодирования кадров. Модуль 202 разбиения блоков разделяет древовидный блок согласно процедуре обработки, аналогичной процедуре модуля 101 разбиения блоков устройства 100 кодирования кадров. Тем не менее, имеется отличие в том, что модуль 101 разбиения блоков устройства 100 кодирования кадров применяет технологию оптимизации, такую как оценка оптимальной формы на основе распознавания кадров либо оптимизация показателя искажения, чтобы определять оптимальную форму разбиения блоков, тогда как модуль 202 разбиения блоков устройства 200 декодирования кадров определяет форму разбиения блоков посредством информации разбиения декодирования блока, записанной в битовой строке.[0061] The following describes the operation of the block splitter 202 in the frame decoder 200 . The block splitter 202 divides the tree block according to a processing procedure similar to that of the block splitter 101 of the frame encoding apparatus 100 . However, there is a difference in that the block splitter 101 of the frame encoding apparatus 100 applies an optimization technique such as best shape estimation based on frame recognition or distortion index optimization to determine the optimal shape of the block split, while the block splitter 202 of the frame The frame decoding 200 determines the block split shape by the block decoding split information recorded in the bit string.

[0062] Синтаксис (синтаксическое правило для битовых строк), связанный с разбиением блоков согласно первому варианту осуществления, показывается на фиг. 9; coding_quadtree() представляет синтаксис, связанный с процессом квадратического разбиения для блока; multi_type_tree() представляет синтаксис, связанный с процессом двоичного или троичного разбиения для блока; qt_split представляет собой флаг, указывающий то, разделяется или нет блок на четыре части; qt_split=1, когда блок разделяется на четыре части, и qt_split=0, когда блок не разделяется на четыре части. Когда блок разделяется на четыре части (qt_split=1), процесс квадратического разбиения рекурсивно выполняется для блоков, каждый из которых разделен на четыре части (coding_quadtree (0), coding_quadtree (1), coding_quadtree (2), coding_quadtree (3), и аргументы 0-3 соответствуют числам, указываемым посредством ссылки с номером 601 по фиг. 6A). Когда блок не разделяется на четыре части (qt_split=0), последующее разбиение определяется согласно multi_type_tree(); mtt_split представляет собой флаг, указывающий то, выполняется дополнительно разбиение либо нет. Когда разбиение дополнительно выполняется (mtt_split=1), передаются mtt_split_vertical, который представляет собой флаг, указывающий то, разделяется блок вертикально или горизонтально, и mtt_split_binary, который представляет собой флаг для определения того, выполняется двоичное или троичное разбиение; mtt_split_vertical=1 указывает разбиение в вертикальном направлении, и mtt_split_vertical=0 указывает разбиение в горизонтальном направлении; mtt_split_binary=1 указывает двоичное разбиение, и mtt_split_binary=0 указывает троичное разбиение. При двоичном разбиении (mtt_split_binary=1), процесс разбиения рекурсивно выполняется для блоков, каждый из которых разделяется на две части (multi_type_tree (0), multi_type_tree (1), и аргументы 0-1 соответствуют числам, указываемым посредством ссылки с номером 602 или 604 на фиг. 6B в 6D). В случае троичного разбиения (mtt_split_binary=0), процесс разбиения рекурсивно выполняется для блоков, каждый из которых разделяется на три части (multi_type_tree (0), multi_type_tree (1), multi_type_tree (2), и аргументы 0-2 соответствуют числам, указываемым посредством ссылки с номером 603 по фиг. 6B, или числам, указываемым посредством ссылки с номером 605 по фиг. 6E). До тех пор, пока mtt_split=0 не достигается, иерархическое разбиение блоков выполняется посредством рекурсивного вызова multi_type_tree.[0062] The syntax (syntax rule for bit strings) associated with block splitting according to the first embodiment is shown in FIG. nine; coding_quadtree() represents the syntax associated with the quad splitting process for a block; multi_type_tree() represents the syntax associated with the binary or ternary splitting process for a block; qt_split is a flag indicating whether or not the block is split into four parts; qt_split=1 when the block is quadrupled, and qt_split=0 when the block is not quadrupled. When a block is split into four parts (qt_split=1), the quadratic splitting process is recursively performed on blocks each divided into four parts (coding_quadtree(0), coding_quadtree(1), coding_quadtree(2), coding_quadtree(3), and arguments 0-3 correspond to the numbers indicated by reference number 601 in Fig. 6A). When a block is not split into four parts (qt_split=0), the subsequent split is determined according to multi_type_tree(); mtt_split is a flag indicating whether additional splitting is performed or not. When splitting is further performed (mtt_split=1), mtt_split_vertical is transmitted, which is a flag indicating whether a block is split vertically or horizontally, and mtt_split_binary, which is a flag for determining whether binary or ternary split is performed; mtt_split_vertical=1 indicates a split in the vertical direction, and mtt_split_vertical=0 indicates a split in the horizontal direction; mtt_split_binary=1 indicates binary split, and mtt_split_binary=0 indicates ternary split. With binary splitting (mtt_split_binary=1), the splitting process is performed recursively for blocks, each of which is split into two parts (multi_type_tree (0), multi_type_tree (1), and arguments 0-1 correspond to the numbers indicated by reference number 602 or 604 in Fig. 6B to 6D). In the case of ternary splitting (mtt_split_binary=0), the splitting process is performed recursively for blocks, each of which is split into three parts (multi_type_tree (0), multi_type_tree (1), multi_type_tree (2), and arguments 0-2 correspond to the numbers specified by reference number 603 in Fig. 6B, or numbers indicated by reference number 605 in Fig. 6E). Until mtt_split=0 is reached, hierarchical block splitting is done by recursively calling multi_type_tree.

[0063] Интер-предсказание [0063] Inter prediction

Способ интер-предсказания согласно варианту осуществления осуществляется в модуле 102 интер-предсказания устройства кодирования кадров по фиг. 1 и в модуле 203 интер-предсказания устройства декодирования кадров по фиг. 2.The inter-prediction method according to the embodiment is performed in the inter-prediction unit 102 of the frame encoder of FIG. 1 and in the inter prediction module 203 of the frame decoder of FIG. 2.

[0064] В дальнейшем описывается способ интер-предсказания согласно варианту осуществления со ссылкой на чертежи. Способ интер-предсказания осуществляется в процессах кодирования и декодирования в единицах блоков кодирования.[0064] Hereinafter, the inter-prediction method according to the embodiment will be described with reference to the drawings. The inter-prediction method is carried out in the coding and decoding processes in units of coding blocks.

[0065] Описание модуля 102 интер-предсказания на стороне кодирования [0065] Description of the inter-prediction module 102 on the coding side

Фиг. 16 является схемой, показывающей подробную конфигурацию модуля 102 интер-предсказания устройства кодирования кадров на фиг. 1. Модуль 301 извлечения режимов идентификации предикторов нормальных векторов движения извлекает множество потенциально подходящих вариантов предикторов нормальных векторов движения, чтобы выбирать предиктор вектора движения, и вычисляет разность векторов движения между выбранным предиктором вектора движения и обнаруженным вектором движения. Обнаруженный режим интер-предсказания, опорный индекс и вектор движения и вычисленная разность векторов движения становятся информацией интер-предсказания режима идентификации предикторов нормальных векторов движения. Эта информация интер-предсказания предоставляется в модуль 305 определения режима интер-предсказания. Ниже описывается подробная конфигурация и процесс модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения.Fig. 16 is a diagram showing a detailed configuration of the inter prediction unit 102 of the frame encoding apparatus in FIG. 1. The normal motion vector predictor identification mode extraction unit 301 extracts a plurality of potential candidate normal motion vector predictors to select a motion vector predictor, and calculates a motion vector difference between the selected motion vector predictor and the detected motion vector. The detected inter-prediction mode, the reference index and the motion vector, and the calculated motion vector difference become the normal motion vector predictor identification mode inter-prediction information. This inter-prediction information is provided to the inter-prediction mode determination module 305 . The detailed configuration and process of the normal motion vector predictor identification mode extraction unit 301 will be described below.

[0066] Модуль 302 извлечения режимов нормального объединения извлекает множество потенциально подходящих вариантов нормального объединения, чтобы выбирать потенциально подходящий вариант нормального объединения, и получает информацию интер-предсказания режима нормального объединения. Эта информация интер-предсказания предоставляется в модуль 305 определения режима интер-предсказания. Ниже описывается подробная конфигурация и процесс модуля 302 извлечения режимов нормального объединения.[0066] The normal combining mode extractor 302 extracts a plurality of potentially suitable normal combining options to select a potentially suitable normal combining option, and obtains normal combining mode inter-prediction information. This inter-prediction information is provided to the inter-prediction mode determination module 305 . The detailed configuration and process of the normal combining mode extractor 302 is described below.

[0067] Модуль 303 извлечения режимов идентификации предикторов векторов движения на основе субблоков извлекает множество потенциально подходящих вариантов предикторов векторов движения на основе субблоков, чтобы выбирать предиктор вектора движения на основе субблоков, и вычисляет разность векторов движения между выбранным предиктором вектора движения на основе субблоков и обнаруженным вектором движения. Обнаруженный режим интер-предсказания, опорный индекс и вектор движения и вычисленная разность векторов движения становятся информацией интер-предсказания режима идентификации предикторов векторов движения на основе субблоков. Эта информация интер-предсказания предоставляется в модуль 305 определения режима интер-предсказания.[0067] The sub-block-based motion vector predictor identification mode extraction unit 303 extracts a plurality of potentially suitable sub-block-based motion vector predictors to select a sub-block-based motion vector predictor, and calculates the motion vector difference between the selected sub-block-based motion vector predictor and the detected motion vector. The detected inter-prediction mode, the reference index and the motion vector, and the calculated motion vector difference become inter-prediction information of the sub-block based motion vector predictor identification mode. This inter-prediction information is provided to the inter-prediction mode determination module 305 .

[0068] Модуль 304 извлечения режимов объединения на основе субблоков извлекает множество потенциально подходящих вариантов объединения на основе субблоков, чтобы выбирать потенциально подходящий вариант объединения на основе субблоков, и получает информацию интер-предсказания режима объединения на основе субблоков. Эта информация интер-предсказания предоставляется в модуль 305 определения режима интер-предсказания.[0068] The subblock-based combining mode extractor 304 extracts a plurality of subblock-based combining candidates to select a subblock-based combining candidate, and obtains inter-prediction information of the subblock combining mode. This inter-prediction information is provided to the inter-prediction mode determination module 305 .

[0069] Модуль 305 определения режима интер-предсказания определяет информацию интер-предсказания на основе информации интер-предсказания, предоставляемой из модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения, модуля 302 извлечения режимов нормального объединения, модуля 303 извлечения режимов идентификации предикторов векторов движения на основе субблоков и модуля 304 извлечения режимов объединения на основе субблоков. Информация интер-предсказания согласно результату определения предоставляется из модуля 305 определения режима интер-предсказания в модуль 306 предсказания с компенсацией движения.[0069] The inter prediction mode determination unit 305 determines the inter prediction information based on the inter prediction information provided from the normal motion vector predictor identification mode extraction unit 301, the normal combining mode extraction unit 302, the motion vector predictor identification mode extraction unit 303 on on a sub-block basis; and a sub-block-based combining modes extraction module 304 . The inter prediction information according to the determination result is provided from the inter prediction mode determination unit 305 to the motion compensation prediction unit 306 .

[0070] Модуль 306 предсказания с компенсацией движения выполняет интер-предсказание для опорного сигнала кадров, сохраненного в запоминающем устройстве 104 декодированных кадров, на основе определенной информации интер-предсказания. Ниже описывается подробная конфигурация и процесс модуля 306 предсказания с компенсацией движения.[0070] The motion compensation prediction unit 306 performs inter-prediction on the frame reference signal stored in the decoded frame memory 104 based on the determined inter-prediction information. The detailed configuration and process of motion compensation prediction module 306 is described below.

[0071] Описание модуля 203 интер-предсказания декодирования на стороне декодирования [0071] Description of the decoding inter-prediction module 203 on the decoding side

Фиг. 22 является схемой, показывающей подробную конфигурацию модуля 203 интер-предсказания устройства декодирования кадров по фиг. 2.Fig. 22 is a diagram showing a detailed configuration of the inter prediction unit 203 of the frame decoding apparatus of FIG. 2.

[0072] Модуль 401 извлечения режимов идентификации предикторов нормальных векторов движения извлекает множество потенциально подходящих вариантов предикторов нормальных векторов движения, чтобы выбирать предиктор вектора движения, вычисляет сумму выбранного предиктора вектора движения и декодированной разности векторов движения и задает вычисленную сумму в качестве вектора движения. Декодированный режим интер-предсказания, опорный индекс и вектор движения становятся информацией интер-предсказания режима идентификации предикторов нормальных векторов движения. Эта информация интер-предсказания предоставляется в модуль 406 предсказания с компенсацией движения через переключатель 408. Ниже описывается подробная конфигурация и процесс модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения.[0072] The normal motion vector predictor identification mode extractor 401 extracts a plurality of potentially suitable normal motion vector predictors to select a motion vector predictor, calculates the sum of the selected motion vector predictor and the decoded motion vector difference, and sets the calculated sum as the motion vector. The decoded inter-prediction mode, the reference index, and the motion vector become the inter-prediction information of the normal motion vector predictor identification mode. This inter-prediction information is provided to the motion compensation prediction module 406 via the switch 408. The detailed configuration and process of the normal motion vector predictor identification mode extraction module 401 will be described below.

[0073] Модуль 402 извлечения режимов нормального объединения извлекает множество потенциально подходящих вариантов нормального объединения, чтобы выбирать потенциально подходящий вариант нормального объединения, и получает информацию интер-предсказания режима нормального объединения. Эта информация интер-предсказания предоставляется в модуль 406 предсказания с компенсацией движения через переключатель 408. Ниже описывается подробная конфигурация и процесс модуля 402 извлечения режимов нормального объединения.[0073] The normal combining mode extractor 402 extracts a plurality of potentially suitable normal combining options to select a potentially suitable normal combining option, and obtains normal combining mode inter-prediction information. This inter-prediction information is provided to the motion-compensated prediction module 406 via the switch 408. The detailed configuration and process of the normal combining mode extractor 402 is described below.

[0074] Модуль 403 извлечения режимов идентификации предикторов векторов движения на основе субблоков извлекает множество потенциально подходящих вариантов предикторов векторов движения на основе субблоков, чтобы выбирать предиктор вектора движения на основе субблоков, вычисляет сумму выбранного предиктора вектора движения на основе субблоков и декодированной разности векторов движения и задает вычисленную сумму в качестве вектора движения. Декодированный режим интер-предсказания, опорный индекс и вектор движения становятся информацией интер-предсказания режима идентификации предикторов векторов движения на основе субблоков. Эта информация интер-предсказания предоставляется в модуль 406 предсказания с компенсацией движения через переключатель 408.[0074] The sub-block-based motion vector predictor identification mode extractor 403 extracts a plurality of potentially suitable sub-block-based motion vector predictor candidates to select a sub-block-based motion vector predictor, calculates the sum of the selected sub-block-based motion vector predictor and the decoded motion vector difference, and specifies the computed sum as the motion vector. The decoded inter-prediction mode, the reference index, and the motion vector become inter-prediction information of the sub-block based motion vector predictor identification mode. This inter-prediction information is provided to motion compensation prediction module 406 via switch 408.

[0075] Модуль 404 извлечения режимов объединения на основе субблоков извлекает множество потенциально подходящих вариантов объединения на основе субблоков, чтобы выбирать потенциально подходящий вариант объединения на основе субблоков, и получает информацию интер-предсказания режима объединения на основе субблоков. Эта информация интер-предсказания предоставляется в модуль 406 предсказания с компенсацией движения через переключатель 408.[0075] The subblock combining mode extractor 404 extracts a plurality of subblock based combining candidates to select a subblock based combining candidate, and obtains subblock combining mode inter-prediction information. This inter-prediction information is provided to motion compensation prediction module 406 via switch 408.

[0076] Модуль 406 предсказания с компенсацией движения выполняет интер-предсказание для опорного сигнала кадров, сохраненного в запоминающем устройстве 208 декодированных кадров, на основе определенной информации интер-предсказания. Подробная конфигурация и процесс модуля 406 предсказания с компенсацией движения являются аналогичными подробной конфигурации и процессу модуля 306 предсказания с компенсацией движения на стороне кодирования.[0076] The motion compensation prediction unit 406 performs inter-prediction on the frame reference signal stored in the decoded frame memory 208 based on the determined inter-prediction information. The detailed configuration and process of motion compensation prediction module 406 are similar to the detailed configuration and process of motion compensation prediction module 306 on the encoding side.

[0077] Модуль извлечения режимов идентификации предикторов нормальных векторов движения (нормальное AMVP) [0077] Normal Motion Vector Predictor Identification Mode Extractor (Normal AMVP)

Модуль 301 извлечения режимов идентификации предикторов нормальных векторов движения по фиг. 17 включает в себя модуль 321 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуль 322 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуль 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, модуль 325 пополнения потенциально подходящих вариантов предикторов векторов движения, модуль 326 обнаружения нормальных векторов движения, модуль 327 выбора потенциально подходящих вариантов предикторов векторов движения и модуль 328 вычитания векторов движения.The Normal Motion Vector Predictor Identification Mode Extractor 301 of FIG. 17 includes a potential candidate spatial motion vector predictor candidate extractor 321, a potential candidate temporal motion vector predictor candidate extractor 322, a history-based potential candidate motion vector predictor candidate extractor 323, a motion vector predictor potential candidate replenishment module 325, a module 326 detecting normal motion vectors, a module 327 for selecting potentially suitable variants of motion vector predictors, and a module 328 for subtracting motion vectors.

[0078] Модуль 401 извлечения режимов идентификации предикторов нормальных векторов движения по фиг. 23 включает в себя модуль 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуль 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуль 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, модуль 425 пополнения потенциально подходящих вариантов предикторов векторов движения, модуль 426 выбора потенциально подходящих вариантов предикторов векторов движения и модуль 427 суммирования векторов движения.[0078] The Normal Motion Vector Predictor Identification Mode Extractor 401 of FIG. 23 includes a potential candidate spatial motion vector predictor candidate extractor 421, a potential candidate temporal motion vector predictor candidate extractor 422, a history-based potential candidate motion vector predictor candidate extractor 423, a motion vector predictor potential candidate replenishment module 425, a module 426 selecting potentially suitable motion vector predictor options and a motion vector summation module 427 .

[0079] В дальнейшем описываются процедуры обработки модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения на стороне кодирования и модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения на стороне декодирования с использованием блок-схем последовательности операций способа по фиг. 19 и 25, соответственно. Фиг. 19 является блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения режимов идентификации предикторов нормальных векторов движения модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения на стороне кодирования, и фиг. 25 является блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения режимов идентификации предикторов нормальных векторов движения модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения на стороне декодирования.[0079] In the following, processing procedures of the normal motion vector predictor identification mode extraction unit 301 on the encoding side and the normal motion vector predictor identification mode extraction unit 401 on the decoding side will be described using the flowcharts of FIG. 19 and 25, respectively. Fig. 19 is a flowchart showing a normal motion vector predictor identification mode extraction processing procedure of the normal motion vector predictor identification mode extraction unit 301 on the encoding side, and FIG. 25 is a flowchart showing a normal motion vector predictor identification mode extraction processing procedure of the normal motion vector predictor identification mode extraction unit 401 on the decoding side.

[0080] Модуль извлечения режимов идентификации предикторов нормальных векторов движения (нормальное AMVP): описание на стороне кодирования [0080] Normal Motion Vector Predictor Identification Mode Extractor (Normal AMVP): Coding Side Description

В дальнейшем описывается процедура обработки извлечения режимов идентификации предикторов нормальных векторов движения на стороне кодирования со ссылкой на фиг. 19. В описании процедуры обработки по фиг. 19, термин "нормальный", показанный на фиг. 19, может опускаться.In the following, a normal motion vector predictor identification mode extraction processing procedure on the encoding side will be described with reference to FIG. 19. In the description of the processing procedure of FIG. 19, the term "normal" shown in FIG. 19 may be omitted.

[0081] Во-первых, модуль 326 обнаружения нормальных векторов движения обнаруживает нормальный вектор движения для каждого режима интер-предсказания и каждого опорного индекса (этап S100 по фиг. 19).[0081] First, the normal motion vector detection module 326 detects the normal motion vector for each inter prediction mode and each reference index (step S100 of FIG. 19).

[0082] Затем, в модуле 321 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуле 322 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуле 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, модуле 325 пополнения потенциально подходящих вариантов предикторов векторов движения, модуле 327 выбора потенциально подходящих вариантов предикторов векторов движения и модуле 328 вычитания векторов движения, разность векторов движения для вектора движения, используемого для интер-предсказания режима идентификации предикторов нормальных векторов движения, вычисляется для каждого из L0 и L1 (этапы S101-S106 по фиг. 19). В частности, когда режим PredMode предсказания целевого блока представляет собой интер-предсказание (MODE_INTER), и режим интер-предсказания представляет собой L0-предсказание (Pred_L0), список mvpListL0 потенциально подходящих вариантов предикторов векторов движения L0 вычисляется, чтобы выбирать предиктор mvpL0 вектора движения, и разность mvdL0 векторов движения вектора mvL0 движения L0 вычисляется. Когда режим интер-предсказания целевого блока представляет собой L1-предсказание (Pred_L1), список mvpListL1 потенциально подходящих вариантов предикторов векторов движения L1 вычисляется, чтобы выбирать предиктор mvpL1 вектора движения, и разность mvdL1 векторов движения вектора mvL1 движения L1 вычисляется. Когда режим интер-предсказания целевого блока представляет собой бипредсказание (Pred_BI), L0-предсказание и L1-предсказание выполняются, список mvpListL0 потенциально подходящих вариантов предикторов векторов движения L0 вычисляется, чтобы выбирать предиктор mvpL0 вектора движения L0, разность mvdL0 векторов движения вектора mvL0 движения L0 вычисляется, список mvpListL1 потенциально подходящих вариантов предикторов векторов движения L1 вычисляется, чтобы выбирать предиктор mvpL1 вектора движения L1, и разность mvdL1 векторов движения вектора mvL1 движения L1 вычисляется.[0082] Then, in the spatial motion vector predictor candidate candidate extraction module 321, the temporal motion vector predictor candidate candidate extraction module 322, the history-based potential candidate motion vector predictor candidate extraction module 323, the motion vector predictor potential candidate replenishment module 325 , a motion vector predictor candidate selection module 327, and a motion vector subtraction module 328, a motion vector difference for the motion vector used for inter-prediction of the normal motion vector predictor identification mode is calculated for each of L0 and L1 (steps S101 to S106 of FIG. . nineteen). Specifically, when the prediction mode PredMode of the target block is inter prediction (MODE_INTER) and the inter prediction mode is L0 prediction (Pred_L0), a list mvpListL0 of potentially candidate L0 motion vector predictor candidates is computed to select the motion vector predictor mvpL0, and the motion vector difference mvdL0 of the motion vector mvL0 L0 is calculated. When the inter-prediction mode of the target block is L1 prediction (Pred_L1), the L1 motion vector predictor candidate list mvpListL1 is calculated to select the motion vector predictor mvpL1, and the motion vector difference mvdL1 of the L1 motion vector mvL1 is calculated. When the inter-prediction mode of the target block is bi-prediction (Pred_BI), L0 prediction and L1 prediction are performed, the list mvpListL0 of potentially candidate L0 motion vector predictors is computed to select the motion vector predictor mvpL0 of L0, the motion vector difference mvdL0 of motion vector mvL0 of L0 is computed, a list mvpListL1 of potentially candidate L1 motion vector predictors is computed to select the motion vector predictor L1 mvpL1, and the motion vector difference mvdL1 of the motion vector mvL1 L1 is computed.

[0083] Хотя процесс вычисления разностей векторов движения выполняется для каждого из L0 и L1, процесс вычисления разностей векторов движения становится процессом, общим для L0 и L1. Следовательно, в нижеприведенном описании, L0 и L1 представляются как общий LX. X LX равен 0 в процессе вычисления разности векторов движения L0, и X LX равен 1 в процессе вычисления разности векторов движения L1. Кроме того, когда на информацию другого списка вместо LX ссылаются в ходе процесса вычисления разности векторов движения LX, другой список представляется как LY.[0083] Although the motion vector difference calculation process is performed for each of L0 and L1, the motion vector difference calculation process becomes a process common to L0 and L1. Therefore, in the description below, L0 and L1 are represented as common LX. X LX is equal to 0 in the process of calculating the motion vector difference L0, and X LX is equal to 1 in the process of calculating the motion vector difference L1. In addition, when other list information instead of LX is referenced during the LX motion vector difference calculation process, the other list is represented as LY.

[0084] Когда вектор mvLX движения LX используется (этап S102 по фиг. 19: "Да"), потенциально подходящие варианты предикторов векторов движения LX вычисляются, чтобы конструировать список mvpListLX потенциально подходящих вариантов предикторов векторов движения LX (этап S103 по фиг. 19). В модуле 321 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуле 322 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуле 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории и модуле 325 пополнения потенциально подходящих вариантов предикторов векторов движения модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения, множество потенциально подходящих вариантов предикторов векторов движения извлекаются, чтобы конструировать список mvpListLX потенциально подходящих вариантов предикторов векторов движения. Ниже описывается подробная процедура обработки этапа S103 по фиг. 19 с использованием блок-схемы последовательности операций способа по фиг. 20.[0084] When an LX motion vector mvLX is used (step S102 of FIG. 19: Yes), potentially candidate LX motion vector predictor candidates are computed to construct a list mvpListLX of potentially candidate LX motion vector predictor candidates (step S103 of FIG. 19) . In the spatial motion vector predictor candidate candidate extraction module 321, the temporal motion vector predictor candidate candidate extraction module 322, the history-based motion vector predictor candidate candidate extraction module 323, and the motion vector predictor potential candidate replenishment module 325 of the identification mode extraction module 301 predictors of normal motion vectors, a set of potentially suitable motion vector predictors are extracted to construct a list mvpListLX of potentially suitable motion vector predictors. The detailed processing procedure of step S103 in FIG. 19 using the flowchart of FIG. 20.

[0085] Затем, модуль 327 выбора потенциально подходящих вариантов предикторов векторов движения выбирает предиктор mvpLX вектора движения LX из списка mvpListLX потенциально подходящих вариантов предикторов векторов движения LX (этап S104 по фиг. 19). Здесь, один элемент (i-ый элемент при подсчете с 0-ого элемента) в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения представляется как mvpListLX[i]. Каждая разность векторов движения, которая представляет собой разность между вектором mvLX движения и каждым потенциально подходящим вариантом mvpListLX[i] предиктора вектора движения, сохраненным в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, вычисляется. Объем кода, когда разности векторов движения кодируются, вычисляется для каждого элемента (потенциально подходящего варианта предиктора вектора движения) списка mvpListLX потенциально подходящих вариантов предикторов векторов движения. Затем потенциально подходящий вариант mvpListLX[i] предиктора вектора движения, который минимизирует объем кода для каждого потенциально подходящего варианта предиктора вектора движения из числа элементов, зарегистрированных в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, выбирается в качестве предиктора mvpLX вектора движения, и его индекс i получается. Когда предусмотрено множество потенциально подходящих вариантов предикторов векторов движения, имеющих наименьший объем сформированного кода в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, потенциально подходящий вариант mvpListLX[i] предиктора вектора движения, представленный посредством меньшего числа в индексе i в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, выбирается в качестве оптимального предиктора mvpLX вектора движения, и его индекс i получается.[0085] Next, the potentially candidate motion vector predictor candidate selection module 327 selects the LX motion vector predictor mvpLX from the mvpListLX list of potentially candidate LX motion vector predictor candidates (step S104 of FIG. 19). Here, one element (i-th element when counting from element 0) in the mvpListLX list of potentially candidate motion vector predictors is represented as mvpListLX[i]. Each motion vector difference, which is the difference between the motion vector mvLX and each motion vector predictor candidate mvpListLX[i] stored in the motion vector predictor candidate list mvpListLX, is calculated. The amount of code when motion vector differences are encoded is computed for each element (potential motion vector predictor candidate) of the list mvpListLX of motion vector predictor candidates. Then, a motion vector predictor candidate mvpListLX[i] that minimizes the amount of code for each motion vector predictor candidate from among the elements registered in the motion vector predictor candidate list mvpListLX is selected as the motion vector predictor mvpLX, and its index i turns out. When a plurality of motion vector predictor candidates having the smallest amount of generated code in the mvpListLX list of motion vector predictor candidates is provided, the motion vector predictor candidate mvpListLX[i] represented by the lower number at index i in the mvpListLX candidate list of predictor candidates motion vectors is chosen as the optimal motion vector predictor mvpLX, and its index i is obtained.

[0086] Затем, модуль 328 вычитания векторов движения вычитает выбранный предиктор mvpLX вектора движения LX из вектора mvLX движения LX и вычисляет разность mvdLX векторов движения LX в качестве mvdLX=mvLX-mvpLX (этап S105 по фиг. 19).[0086] Next, the motion vector subtractor 328 subtracts the selected LX motion vector predictor mvpLX from the LX motion vector mvLX, and calculates the LX motion vector difference mvdLX as mvdLX=mvLX-mvpLX (step S105 of FIG. 19).

[0087] Модуль извлечения режимов идентификации предикторов нормальных векторов движения (нормальное AMVP): описание на стороне декодирования [0087] Normal Motion Vector Predictor Identification Mode Extractor (Normal AMVP): Decoding Side Description

Далее описывается процедура обработки режима идентификации предикторов нормальных векторов движения на стороне декодирования со ссылкой на фиг. 25. На стороне декодирования, в модуле 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуле 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуле 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории и модуле 425 пополнения потенциально подходящих вариантов предикторов векторов движения, вектор движения для использования при интер-предсказании режима идентификации предикторов нормальных векторов движения вычисляется для каждого из L0 и L1 (этапы S201-S206 по фиг. 25). В частности, когда режим PredMode предсказания целевого блока представляет собой интер-предсказание (MODE_INTER), и режим интер-предсказания целевого блока представляет собой L0-предсказание (Pred_L0), список mvpListL0 потенциально подходящих вариантов предикторов векторов движения L0 вычисляется, чтобы выбирать предиктор mvpL0 вектора движения, и вектор mvL0 движения L0 вычисляется. Когда режим интер-предсказания целевого блока представляет собой L1-предсказание (Pred_L1), список mvpListL1 потенциально подходящих вариантов предикторов векторов движения L1 вычисляется, чтобы выбирать предиктор mvpL1 вектора движения, и вектор mvL1 движения L1 вычисляется. Когда режим интер-предсказания целевого блока представляет собой бипредсказание (Pred_BI), L0-предсказание и L1-предсказание выполняются, список mvpListL0 потенциально подходящих вариантов предикторов векторов движения L0 вычисляется, чтобы выбирать предиктор mvpL0 вектора движения L0, вектор mvL0 движения L0 вычисляется, список mvpListL1 потенциально подходящих вариантов предикторов векторов движения L1 вычисляется, чтобы выбирать предиктор mvpL1 вектора движения L1, и каждый вектор mvL1 движения L1 вычисляется.Next, the normal motion vector predictor identification mode processing procedure on the decoding side will be described with reference to FIG. 25. On the decoding side, in the spatial motion vector predictor potential candidate extractor 421, the temporal motion vector predictor candidate candidate extractor 422, the history-based potential candidate motion vector predictor candidate extractor 423, and the vector predictor candidate candidate replenishment module 425 motion vector, a motion vector for use in inter-prediction of the normal motion vector predictor identification mode is computed for each of L0 and L1 (steps S201 to S206 of FIG. 25). Specifically, when the target block prediction mode PredMode is inter-prediction (MODE_INTER) and the target block inter-prediction mode is L0 prediction (Pred_L0), a list mvpListL0 of potentially candidate L0 motion vector predictor candidates is computed to select the vector predictor mvpL0 motion, and the motion vector mvL0 L0 is computed. When the inter-prediction mode of the target block is L1 prediction (Pred_L1), the L1 motion vector predictor candidate list mvpListL1 is calculated to select the motion vector predictor mvpL1, and the L1 motion vector mvL1 is calculated. When the inter-prediction mode of the target block is bi-prediction (Pred_BI), L0 prediction and L1 prediction are performed, the list mvpListL0 of potentially suitable L0 motion vector predictors is calculated to select the predictor mvpL0 of the L0 motion vector, the motion vector mvL0 L0 is calculated, the list mvpListL1 of potentially candidate L1 motion vector predictors is computed to select the L1 motion vector predictor mvpL1, and each L1 motion vector mvL1 is computed.

[0088] Хотя процесс вычисления вектора движения выполняется для каждого из L0 и L1 на стороне декодирования, аналогично стороне кодирования, процесс вычисления вектора движения становится процессом, общим для L0 и L1. Следовательно, в нижеприведенном описании, L0 и L1 представляются как общий LX. LX представляет режим интер-предсказания для использования при интер-предсказании целевого блока кодирования. X равен 0 в процессе вычисления вектора движения L0, и X равен 1 в процессе вычисления вектора движения L1. Кроме того, когда на информацию другого опорного списка вместо опорного списка, идентичного опорному списку опорного списка, идентичного опорному списку LX цели вычисления, ссылаются в ходе процесса вычисления вектора движения LX, другой опорный список представляется как LY.[0088] Although the motion vector calculation process is performed for each of L0 and L1 on the decoding side, similarly to the encoding side, the motion vector calculation process becomes a process common to L0 and L1. Therefore, in the description below, L0 and L1 are represented as common LX. LX represents an inter-prediction mode for use in inter-prediction of a target coding block. X is 0 in the process of calculating the motion vector L0, and X is 1 in the process of calculating the motion vector L1. In addition, when other reference list information instead of a reference list identical to the reference list of the reference list identical to the reference list LX of the calculation target is referenced during the calculation process of the motion vector LX, the other reference list is represented as LY.

[0089] Когда вектор mvLX движения LX используется (этап S202 по фиг. 25: "Да"), потенциально подходящие варианты предикторов векторов движения LX вычисляются, чтобы конструировать список mvpListLX потенциально подходящих вариантов предикторов векторов движения LX (этап S203 по фиг. 25). В модуле 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуле 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуле 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории и модуле 425 пополнения потенциально подходящих вариантов предикторов векторов движения модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения, множество потенциально подходящих вариантов предикторов векторов движения вычисляются, чтобы конструировать список mvpListLX потенциально подходящих вариантов предикторов векторов движения. Ниже описывается подробная процедура обработки этапа S203 по фиг. 25 с использованием блок-схемы последовательности операций способа по фиг. 20.[0089] When an LX motion vector mvLX is used (step S202 of FIG. 25: Yes), potentially candidate LX motion vector predictor candidates are computed to construct a list mvpListLX of potentially candidate LX motion vector predictor candidates (step S203 of FIG. 25) . In the spatial motion vector predictor candidate candidate extractor 421, the temporal motion vector predictor candidate candidate extractor 422, the history-based motion vector predictor candidate candidate extractor 423, and the motion vector predictor candidate replenishment module 425 of the identification mode extractor 401 predictors of normal motion vectors, a set of potentially suitable motion vector predictors are computed to construct a list mvpListLX of potentially suitable motion vector predictors. The following describes the detailed processing procedure of step S203 in FIG. 25 using the flowchart of FIG. 20.

[0090] Затем, потенциально подходящий вариант mvpListLX[mvpIdxLX] предиктора вектора движения, соответствующий индексу mvpIdxLX предиктора вектора движения, декодированного и предоставляемого посредством модуля 201 декодирования битовых строк из списка mvpListLX потенциально подходящих вариантов предикторов векторов движения, извлекается в качестве выбранного предиктора mvpLX вектора движения в модуле 426 выбора потенциально подходящих вариантов предикторов векторов движения (этап S204 по фиг. 25).[0090] Then, the motion vector predictor candidate mvpListLX[mvpIdxLX] corresponding to the motion vector predictor index mvpIdxLX decoded and provided by the bit string decoding module 201 from the mvpListLX list of candidate motion vector predictor candidates mvpListLX is extracted as the selected motion vector predictor mvpLX in module 426 for selecting potentially suitable motion vector predictor options (step S204 of FIG. 25).

[0091] Затем, модуль 427 суммирования векторов движения суммирует разность mvdLX векторов движения LX, которая декодируется и предоставляется посредством модуля 201 декодирования битовых строк, и предиктор mvpLX вектора движения LX и вычисляет вектор mvLX движения LX в качестве mvLX=mvpLX+mvdLX (этап S205 по фиг. 25).[0091] Next, the motion vector addition unit 427 sums the LX motion vector difference mvdLX that is decoded and provided by the bit string decoding unit 201 and the LX motion vector predictor mvpLX, and calculates the LX motion vector mvLX as mvLX=mvpLX+mvdLX (step S205 according to Fig. 25).

[0092] Модуль извлечения режимов идентификации предикторов нормальных векторов движения (нормальное AMVP): способ предсказания векторов движения [0092] Normal Motion Vector Predictor Identification Mode Extractor (Normal AMVP): Motion Vector Prediction Method

Фиг. 20 является блок-схемой последовательности операций способа, показывающей процедуру обработки процесса извлечения режимов идентификации предикторов нормальных векторов движения, имеющего функцию, общую для модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения устройства кодирования кадров и модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения устройства декодирования кадров согласно варианту осуществления настоящего изобретения.Fig. 20 is a flowchart showing a processing procedure of the normal motion vector predictor identification mode extraction process having a function common to the normal motion vector predictor identification mode extraction unit 301 of the frame encoding apparatus and the normal motion vector predictor identification mode extraction unit 401 of the decoding apparatus. frames according to an embodiment of the present invention.

[0093] Модуль 301 извлечения режимов идентификации предикторов нормальных векторов движения и модуль 401 извлечения режимов идентификации предикторов нормальных векторов движения включают в себя список mvpListLX потенциально подходящих вариантов предикторов векторов движения. Список mvpListLX потенциально подходящих вариантов предикторов векторов движения имеет списковую структуру и содержит область хранения, в которой индекс предиктора вектора движения, указывающий местоположение в списке потенциально подходящих вариантов предикторов векторов движения, и потенциально подходящий вариант предиктора вектора движения, соответствующий индексу, сохраняется в качестве элементов. Номер индекса предиктора вектора движения начинается с 0, и потенциально подходящие варианты предикторов векторов движения сохраняются в области хранения списка mvpListLX потенциально подходящих вариантов предикторов векторов движения. В настоящем варианте осуществления, предполагается, что, по меньшей мере, два потенциально подходящих вариантов предикторов векторов движения (информация интер-предсказания) могут регистрироваться в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения. Кроме того, переменная numCurrMvpCand, указывающая число потенциально подходящих вариантов предикторов векторов движения, зарегистрированных в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, задается равной 0.[0093] The normal motion vector predictor identification mode extractor 301 and the normal motion vector predictor identification mode extractor 401 include a mvpListLX list of potentially suitable motion vector predictor options. The motion vector predictor candidate list mvpListLX has a list structure and contains a storage area in which the motion vector predictor index indicating the location in the motion vector predictor candidate list and the motion vector predictor candidate corresponding to the index are stored as elements. The motion vector predictor index number starts from 0, and the motion vector predictor candidate candidates are stored in the mvpListLX list of candidate motion vector predictor candidates. In the present embodiment, it is assumed that at least two potentially suitable motion vector predictor candidates (inter-prediction information) can be registered in the mvpListLX list of potential motion vector predictor candidates. In addition, the numCurrMvpCand variable indicating the number of motion vector predictor candidates registered in the motion vector predictor candidate list mvpListLX is set to 0.

[0094] Модули 321 и 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения извлекают потенциально подходящие варианты предикторов векторов движения из соседних блоков с левой стороны. В этом процессе, предиктор mvLXA вектора движения извлекается со ссылкой на информацию интер-предсказания соседнего блока с левой стороны (A0 или A1 по фиг. 11), т.е. на флаг, указывающий то, может или нет потенциально подходящий вариант предиктора вектора движения использоваться, вектор движения, опорный индекс и т.п., и извлеченный mvLXA добавляется в список mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S301 по фиг. 20). Кроме того, X равен 0 во время L0-предсказания, и X равен 1 во время L1-предсказания (это справедливо далее). Затем, модули 321 и 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения извлекают потенциально подходящий вариант предиктора вектора движения из соседнего блока с верхней стороны. В этом процессе, предиктор mvLXB вектора движения извлекается со ссылкой на информацию интер-предсказания соседнего блока с верхней стороны (B0, B1 или B2 по фиг. 11), т.е. на флаг, указывающий то, может или нет потенциально подходящий вариант предиктора вектора движения использоваться, вектор движения, опорный индекс и т.п., и mvLXB добавляется в список mvpListLX потенциально подходящих вариантов предикторов векторов движения, если извлеченный mvLXA не равен извлеченному mvLXB (этап S302 по фиг. 20). Обработка этапов S301 и S302 по фиг. 20 является общей за исключением того, что позиции соседних блоков, на которые ссылаются, и число соседних блоков, на которые ссылаются, отличаются, и извлекаются флаг availableFlagLXN, указывающий то, может или нет потенциально подходящий вариант предиктора вектора движения блока кодирования использоваться, вектор mvLXN движения и опорный индекс refIdxN (N представляет A или B, и это справедливо далее).[0094] The potential candidate spatial motion vector predictor candidate extractors 321 and 421 extract potentially candidate motion vector predictor candidates from adjacent blocks on the left side. In this process, the motion vector predictor mvLXA is extracted with reference to the inter-prediction information of the adjacent block on the left side (A0 or A1 in FIG. 11), i.e. to a flag indicating whether or not a potentially suitable motion vector predictor candidate, motion vector, reference index, or the like can be used, and the extracted mvLXA is added to the list mvpListLX of potentially candidate motion vector predictor candidates (step S301 of FIG. 20). In addition, X is 0 during L0 prediction and X is 1 during L1 prediction (this is true below). Next, the candidate spatial motion vector predictor candidate extractors 321 and 421 extract the candidate motion vector predictor candidate from the upper side adjacent block. In this process, the motion vector predictor mvLXB is extracted with reference to the inter-prediction information of the neighboring block on the upper side (B0, B1 or B2 in FIG. 11), i.e. to a flag indicating whether or not a potential candidate motion vector predictor can be used, a motion vector, a reference index, etc., and mvLXB is added to the mvpListLX list of potentially candidate motion vector predictors if the extracted mvLXA is not equal to the extracted mvLXB (step S302 in Fig. 20). The processing of steps S301 and S302 in FIG. 20 is common except that the referenced neighboring block positions and the number of referenced neighboring blocks are different, and an availableFlagLXN flag is retrieved indicating whether or not a potentially suitable coding block motion vector predictor option can be used, vector mvLXN movement and reference index refIdxN (N represents A or B, and this is true below).

[0095] Затем, модули 322 и 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения извлекают потенциально подходящие варианты предикторов векторов движения из блоков в кадре, время которого отличается от кадра текущего целевого кадра. В этом процессе, извлекаются флаг availableFlagLXCol, указывающий то, может или нет потенциально подходящий вариант предиктора вектора движения блока кодирования кадра другого момента времени использоваться, вектор mvLXCol движения, опорный индекс refIdxCol и опорный список listCol, и mvLXCol добавляется в список mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S303 по фиг. 20).[0095] Next, modules 322 and 422 extract potentially good temporal motion vector predictor candidates extract potentially good motion vector predictor candidates from blocks in a frame whose time is different from that of the current target frame. In this process, the availableFlagLXCol flag indicating whether or not the motion vector predictor candidate of the frame encoding block of another time point can be used, the motion vector mvLXCol, the reference index refIdxCol and the reference list listCol are extracted, and mvLXCol is added to the mvpListLX list of potentially candidate predictors. motion vectors (step S303 of FIG. 20).

[0096] Кроме того, предполагается, что процессы модулей 322 и 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения могут опускаться в единицах последовательностей (SPS), кадров (PPS) или срезов.[0096] In addition, it is contemplated that the processes of modules 322 and 422 for extracting potentially suitable motion vector temporal predictors may be omitted in units of sequences (SPS), frames (PPS), or slices.

[0097] Затем, модули 323 и 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории добавляют потенциально подходящие варианты предикторов векторов движения на основе предыстории, зарегистрированные в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в список mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S304 по фиг. 20). Ниже описываются подробности процедуры обработки регистрации этапа S304 с использованием блок-схемы последовательности операций способа по фиг. 29.[0097] Next, the history-based motion vector predictor potential candidates 323 and 423 add the history-based motion vector predictor candidates registered in the history-based motion vector predictor candidate list HmvpCandList to the mvpListLX of potential candidates. motion vector predictors (step S304 of FIG. 20). The details of the registration processing procedure of step S304 will be described below using the flowchart of FIG. 29.

[0098] Затем, модули 325 и 425 пополнения потенциально подходящих вариантов предикторов векторов движения добавляют потенциально подходящие варианты предикторов векторов движения, имеющие предварительно определенное значение, к примеру, (0, 0) до тех пор, пока список mvpListLX потенциально подходящих вариантов предикторов векторов движения не удовлетворяется (S305 по фиг. 20).[0098] Next, the potential candidate motion vector predictor candidate replenishment modules 325 and 425 add candidate motion vector predictor candidates having a predetermined value, e.g., (0, 0), until the mvpListLX list of potential candidate motion vector predictor candidates not satisfied (S305 of FIG. 20).

[0099] Модуль извлечения режимов нормального объединения (нормальное объединение) [0099] Normal Combination Mode Extractor (Normal Combination)

Модуль 302 извлечения режимов нормального объединения по фиг. 18 включает в себя модуль 341 извлечения пространственных потенциально подходящих вариантов объединения, модуль 342 извлечения временных потенциально подходящих вариантов объединения, модуль 344 извлечения средних потенциально подходящих вариантов объединения, модуль 345 извлечения потенциально подходящих вариантов объединения на основе предыстории, модуль 346 пополнения потенциально подходящих вариантов объединения и модуль 347 выбора потенциально подходящих вариантов объединения.The normal combining mode extractor 302 of FIG. 18 includes a spatial candidate pool extractor 341, a temporal pool candidate extractor 342, an average pool candidate extractor 344, a history-based pool candidate extractor 345, a pool candidate augmentation module 346, and a module 347 for selecting potentially suitable combination options.

[0100] Модуль 402 извлечения режимов нормального объединения по фиг. 24 включает в себя модуль 441 извлечения пространственных потенциально подходящих вариантов объединения, модуль 442 извлечения временных потенциально подходящих вариантов объединения, модуль 444 извлечения средних потенциально подходящих вариантов объединения, модуль 445 извлечения потенциально подходящих вариантов объединения на основе предыстории, модуль 446 пополнения потенциально подходящих вариантов объединения и модуль 447 выбора потенциально подходящих вариантов объединения.[0100] The normal combining mode extractor 402 of FIG. 24 includes a spatial join candidate extractor 441, a temporal join candidate extractor 442, an average join candidate extractor 444, a history based join candidate extractor 445, a join replenishment module 446, and a module 447 for selecting potentially suitable combination options.

[0101] Фиг. 21 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру процесса извлечения режимов нормального объединения, имеющего функцию, общую для модуля 302 извлечения режимов нормального объединения устройства кодирования кадров и модуля 402 извлечения режимов нормального объединения устройства декодирования кадров согласно варианту осуществления настоящего изобретения.[0101] FIG. 21 is an explanatory flowchart showing a procedure of a normal combining mode extraction process having a function common to a normal combining mode extraction unit 302 of a frame encoding apparatus and a normal combining mode extraction unit 402 of a frame decoding apparatus according to an embodiment of the present invention.

[0102] Далее поэтапно описываются различные процессы. Хотя в дальнейшем описывается случай, в котором тип slice_type среза представляет собой B-срез, если не указано иное в нижеприведенном описании, настоящее изобретение также может применяться к случаю P-среза. Тем не менее, когда тип slice_type среза представляет собой P-срез, поскольку только L0-предсказание (Pred_L0) предоставляется в качестве режима интер-предсказания, и L1-предсказание (Pred_L1) и бипредсказание (Pred_BI) отсутствуют, процесс, связанный с L1, может опускаться.[0102] The following describes the various processes step by step. Although the following describes the case in which the slice_type of the slice is a B-slice, unless otherwise indicated in the description below, the present invention can also be applied to the case of a P-slice. However, when the slice_type of a slice is a P-slice, since only L0 prediction (Pred_L0) is provided as an inter-prediction mode, and L1 prediction (Pred_L1) and bi-prediction (Pred_BI) are not present, the process associated with L1 may go down.

[0103] Модуль 302 извлечения режимов нормального объединения и модуль 402 извлечения режимов нормального объединения имеют список mergeCandList потенциально подходящих вариантов объединения. Список mergeCandList потенциально подходящих вариантов объединения имеет списковую структуру и содержит индекс объединения, указывающий местоположение в списке потенциально подходящих вариантов объединения, и область хранения, в которой потенциально подходящие варианты объединения, соответствующие индексу, сохраняются в качестве элементов. Номер индекса объединения начинается с 0, и потенциально подходящие варианты объединения сохраняются в области хранения списка mergeCandList потенциально подходящих вариантов объединения. В последующем процессе, потенциально подходящий вариант объединения i индекса объединения, зарегистрированного в списке mergeCandList потенциально подходящих вариантов объединения, представляется посредством mergeCandList[i]. В настоящем варианте осуществления, предполагается, что, по меньшей мере, шесть потенциально подходящих вариантов объединения (информация интер-предсказания) могут регистрироваться в списке mergeCandList потенциально подходящих вариантов объединения. Дополнительно, переменная numCurrMergeCand, указывающая число потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, задается равной 0.[0103] The normal merge mode extractor 302 and the normal merge mode extractor 402 have a mergeCandList of potentially suitable merge options. The list mergeCandList of candidate merges has a list structure and contains a merge index indicating a location in the list of candidate merges and a storage area in which candidate merges corresponding to the index are stored as elements. The merge index number starts at 0, and potentially suitable merges are stored in the mergeCandList storage area of potentially suitable merges. In the subsequent process, a merge candidate i of the merge index registered in the merge candidate merge list mergeCandList is represented by mergeCandList[i]. In the present embodiment, it is assumed that at least six potentially suitable merges (inter-prediction information) can be registered in the mergeCandList of potentially suitable merges. Additionally, the numCurrMergeCand variable indicating the number of merge candidates registered in the mergeCandList of merge candidates is set to 0.

[0104] Модуль 341 извлечения пространственных потенциально подходящих вариантов объединения и модуль 441 извлечения пространственных потенциально подходящих вариантов объединения извлекают пространственные потенциально подходящие варианты объединения из блоков (B1, A1, B0, A0 и B2 по фиг. 11), смежных с левой стороной и верхней стороной целевого блока в порядке B1, A1, B0, A0 и B2, из информации кодирования, сохраненной в запоминающем устройстве 111 для хранения информации кодирования устройства кодирования кадров или в запоминающем устройстве 205 для хранения информации кодирования устройства декодирования кадров, и регистрируют извлеченные пространственные потенциально подходящие варианты объединения в списке mergeCandList потенциально подходящих вариантов объединения (этап S401 по фиг. 21). Здесь, задается N, указывающее любой один из пространственных потенциально подходящих вариантов B1, A1, B0, A0 и B2 объединения и временного потенциально подходящего варианта Col объединения. Извлекаются флаг availableFlagN, указывающий то, доступна или нет информация интер-предсказания блока N в качестве пространственного потенциально подходящего варианта объединения, опорный индекс refIdxL0N L0 и опорный индекс refIdxL1N L1 пространственного потенциально подходящего варианта N объединения, флаг predFlagL0N L0-предсказания, указывающий то, выполняется или нет L0-предсказание, флаг predFlagL1N L1-предсказания, указывающий то, выполняется или нет L1-предсказание, вектор mvL0N движения L0 и вектор mvL1N движения L1. Тем не менее, в настоящем варианте осуществления, поскольку потенциально подходящий вариант объединения извлекается без ссылки на информацию интер-предсказания блока, включенную в блок кодирования, служащий в качестве цели, пространственный потенциально подходящий вариант объединения с использованием информации интер-предсказания блока, включенной в целевой блок кодирования, не извлекается.[0104] The spatial candidate merge extractor 341 and the spatial candidate merge extractor 441 extract spatial candidate merges from the blocks (B1, A1, B0, A0, and B2 of FIG. 11) adjacent to the left side and top side of the target block in the order of B1, A1, B0, A0 and B2, from the encoding information stored in the memory 111 for storing encoding information of the frame encoder or in the memory 205 for storing encoding information of the frame decoder, and register the extracted spatial potential suitable merge options in the list mergeCandList of potentially suitable merge options (step S401 of FIG. 21). Here, N is set to indicate any one of the spatial pool candidate B1, A1, B0, A0, and B2 and the temporal pool candidate Col. The availableFlagN flag indicating whether inter-prediction information of block N is available as a spatial join candidate is available or not, the reference index refIdxL0N L0 and the reference index refIdxL1N L1 of the spatial join candidate N, the L0 prediction flag predFlagL0N indicating whether or not L0 prediction, L1 prediction flag predFlagL1N indicating whether or not L1 prediction is executed, L0 motion vector mvL0N, and L1 motion vector mvL1N. However, in the present embodiment, since the matching candidate is extracted without referring to the block inter-prediction information included in the coding block serving as the target, the spatial matching candidate using the block inter-prediction information included in the target coding block, not retrieved.

[0105] Затем, модуль 342 извлечения временных потенциально подходящих вариантов объединения и модуль 442 извлечения временных потенциально подходящих вариантов объединения извлекают временные потенциально подходящие варианты объединения из кадров различных моментов времени и регистрируют извлеченные временные потенциально подходящие варианты объединения в списке mergeCandList потенциально подходящих вариантов объединения (этап S402 по фиг. 21). Извлекаются флаг availableFlagCol, указывающий то, может или нет временной потенциально подходящий вариант объединения использоваться, флаг predFlagL0Col L0-предсказания, указывающий то, выполняется или нет L0-предсказание временного потенциально подходящего варианта объединения, флаг predFlagL1Col L1-предсказания, указывающий то, выполняется или нет L1-предсказание, вектор mvL0Col движения L0 и вектор mvL1Col движения L1.[0105] Next, the temporal candidate merge extractor 342 and the temporal candidate merge extractor 442 extract the temporal candidate merges from the frames of different points in time, and register the extracted temporal candidate merges in the list of candidate merges mergeCandList (step S402 in Fig. 21). Extracted flag availableFlagCol indicating whether or not a temporary join candidate can be used, predFlagL0Col L0 prediction flag indicating whether or not L0 prediction of the temporary join candidate is performed, predFlagL1Col L1 prediction flag indicating whether or not L1 prediction, L0 motion vector mvL0Col and L1 motion vector mvL1Col.

[0106] Кроме того, предполагается, что процессы модуля 342 извлечения временных потенциально подходящих вариантов объединения и модуля 442 извлечения временных потенциально подходящих вариантов объединения могут опускаться в единицах последовательностей (SPS), кадров (PPS) или срезов.[0106] In addition, it is contemplated that the processes of temporal candidate merge extractor 342 and temporal candidate merge extractor 442 may be omitted in units of sequences (SPS), frames (PPS), or slices.

[0107] Затем, модуль 345 извлечения потенциально подходящих вариантов объединения на основе предыстории и модуль 445 извлечения потенциально подходящих вариантов объединения на основе предыстории регистрируют потенциально подходящие варианты предикторов векторов движения на основе предыстории, зарегистрированные в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в списке mergeCandList потенциально подходящих вариантов объединения (этап S403 по фиг. 21).[0107] Next, the history-based candidate pooling candidate extractor 345 and the history-based candidate pooling module 445 register the history-based motion vector predictor candidates registered in the history-based motion vector predictor candidate list HmvpCandList , in the mergeCandList of potentially suitable merge options (step S403 of FIG. 21).

Кроме того, когда число numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, меньше максимального числа MaxNumMergeCand потенциально подходящих вариантов объединения, максимальное число MaxNumMergeCand потенциально подходящих вариантов объединения задается в качестве верхнего предела числа numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированного в списке mergeCandList потенциально подходящих вариантов объединения, и потенциально подходящие варианты объединения на основе предыстории извлекаются и регистрируются в списке mergeCandList потенциально подходящих вариантов объединения.In addition, when the number numCurrMergeCand of candidate merges registered in the list of merge candidates mergeCandList is less than the maximum number of candidate merges MaxNumMergeCand, the maximum number of candidate merges MaxNumMergeCand is set as the upper limit of the number of candidate merges numCurrMergeCand registered in mergeCandList of potentially suitable merges, and potentially suitable merges based on history are retrieved and registered in the mergeCandList of potentially suitable merges.

[0108] Затем, модуль 344 извлечения средних потенциально подходящих вариантов объединения и модуль 444 извлечения средних потенциально подходящих вариантов объединения извлекают средний потенциально подходящий вариант объединения из списка mergeCandList потенциально подходящих вариантов объединения и добавляют извлеченный средний потенциально подходящий вариант объединения в список mergeCandList потенциально подходящих вариантов объединения (этап S404 по фиг. 21).[0108] Next, the average candidate merge extractor 344 and the average candidate merge extractor 444 extract the average candidate merge from the mergeCandList of candidate merges, and add the extracted average candidate merge to the mergeCandList of candidate merges. (step S404 of FIG. 21).

Кроме того, когда число numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, меньше максимального числа MaxNumMergeCand потенциально подходящих вариантов объединения, максимальное число MaxNumMergeCand потенциально подходящих вариантов объединения задается в качестве верхнего предела числа numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированного в списке mergeCandList потенциально подходящих вариантов объединения, и средние потенциально подходящие варианты объединения извлекаются и регистрируются в списке mergeCandList потенциально подходящих вариантов объединения.In addition, when the number numCurrMergeCand of candidate merges registered in the list of merge candidates mergeCandList is less than the maximum number of candidate merges MaxNumMergeCand, the maximum number of candidate merges MaxNumMergeCand is set as the upper limit of the number of candidate merges numCurrMergeCand registered in mergeCandList of merge candidates, and the average merge candidates are retrieved and registered in the mergeCandList of merge candidates.

Здесь, средний потенциально подходящий вариант объединения представляет собой новый потенциально подходящий вариант объединения, имеющий вектор движения, полученный посредством усреднения векторов движения первого потенциально подходящего варианта объединения и второго потенциально подходящего варианта объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, для каждого из L0-предсказания и L1-предсказания.Here, the average candidate merge is a new candidate merge having a motion vector obtained by averaging the motion vectors of the first candidate merge and the second candidate merge registered in the list of candidate merges mergeCandList for each of L0- predictions and L1 predictions.

[0109] Затем, в модуле 346 пополнения потенциально подходящих вариантов объединения и модуле 446 пополнения потенциально подходящих вариантов объединения, когда число numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, меньше максимального числа MaxNumMergeCand потенциально подходящих вариантов объединения, максимальное число MaxNumMergeCand потенциально подходящих вариантов объединения задается в качестве верхнего предела числа numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированного в списке mergeCandList потенциально подходящих вариантов объединения, и дополнительный потенциально подходящий вариант объединения извлекается и регистрируется в списке mergeCandList потенциально подходящих вариантов объединения (этап S405 по фиг. 21). В P-срезе, потенциально подходящий вариант объединения, для которого вектор движения имеет значение в (0, 0), и режим предсказания представляет собой L0-предсказание (Pred_L0), добавляется с использованием максимального числа MaxNumMergeCand потенциально подходящих вариантов объединения в качестве верхнего предела. В B-срезе, потенциально подходящий вариант объединения, для которого вектор движения имеет значение в (0, 0), и режим предсказания представляет собой бипредсказание (Pred_BI), добавляется. Опорный индекс, когда потенциально подходящий вариант объединения добавляется, отличается от ранее добавленного опорного индекса.[0109] Then, in the candidate merge replenishment module 346 and the candidate merge replenishment module 446, when the number numCurrMergeCand of candidate merges registered in the mergeCandList of candidate merges is less than the maximum number of candidate merges MaxNumMergeCand , the maximum number MaxNumMergeCand of merge candidates is set as an upper limit of the number of merge candidates numCurrMergeCand registered in the merge candidate mergeCandList, and an additional merge candidate is retrieved and registered in the merge candidate list mergeCandList (step S405 of FIG. 21) . In P-slice, a candidate merge for which the motion vector has a value of (0, 0) and the prediction mode is L0 prediction (Pred_L0) is added using the maximum number MaxNumMergeCand of potentially eligible merges as an upper limit. In the B-slice, a potentially suitable join case for which the motion vector has a value of (0, 0) and the prediction mode is bi-prediction (Pred_BI) is added. The pivot index when a potentially suitable join option is added is different from the pivot index previously added.

[0110] Затем, модуль 347 выбора потенциально подходящих вариантов объединения и модуль 447 выбора потенциально подходящих вариантов объединения выбирают потенциально подходящие варианты объединения из потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения. Модуль 347 выбора потенциально подходящих вариантов объединения на стороне кодирования выбирает потенциально подходящий вариант объединения посредством вычисления объема кода и величины искажения и предоставляет индекс объединения, указывающий выбранный потенциально подходящий вариант объединения, и информацию интер-предсказания потенциально подходящего варианта объединения в модуль 306 предсказания с компенсацией движения через модуль 305 определения режима интер-предсказания. С другой стороны, модуль 447 выбора потенциально подходящих вариантов объединения на стороне декодирования выбирает потенциально подходящий вариант объединения на основе декодированного индекса объединения и предоставляет выбранный потенциально подходящий вариант объединения в модуль 406 предсказания с компенсацией движения.[0110] Next, the merge candidate selection module 347 and the merge candidate selection module 447 select merge candidates from the merge candidates registered in the merge candidate list mergeCandList. The coding-side candidate join selection unit 347 selects the join candidate by calculating the amount of code and the amount of distortion, and provides a join index indicating the selected join candidate and inter-prediction information of the join candidate to the motion compensation prediction unit 306 through the inter-prediction mode determination module 305 . On the other hand, the decoding side candidate join selection unit 447 selects the join candidate based on the decoded join index, and provides the selected join candidate to the motion compensation prediction unit 406 .

[0111] Обновление списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории [0111] Updating the list of potentially suitable motion vector predictor options based on history

Далее подробно описываются способ инициализации и способ обновления списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, предоставленного в запоминающем устройстве 111 для хранения информации кодирования на стороне кодирования и в запоминающем устройстве 205 для хранения информации кодирования на стороне декодирования. Фиг. 26 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру обработки для инициализации/обновления списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории.The following describes in detail the initialization method and the method for updating the list HmvpCandList of potentially suitable motion vector predictor candidates based on the history provided in the encoding information storage 111 on the encoding side and in the encoding information storage 205 on the decoding side. Fig. 26 is an explanatory flowchart showing a processing procedure for initializing/updating a list of potentially candidate candidate motion vector predictors based on history.

[0112] В настоящем варианте осуществления, предполагается, что список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории обновляется в запоминающем устройстве 111 для хранения информации кодирования и в запоминающем устройстве 205 для хранения информации кодирования. Модуль обновления списков потенциально подходящих вариантов предикторов векторов движения на основе предыстории может устанавливаться в модуле 102 интер-предсказания и модуле 203 интер-предсказания, чтобы обновлять список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории.[0112] In the present embodiment, it is assumed that the list HmvpCandList of potentially suitable motion vector predictors based on history is updated in the encoding information storage 111 and the encoding information storage 205 . A history-based motion vector predictor candidate candidate list updater may be set in the inter-prediction module 102 and the inter-prediction module 203 to update the HmvpCandList list of potentially candidate historical motion vector predictor candidates.

[0113] Список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории первоначально задается в начале среза, список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории обновляется, когда режим идентификации предикторов нормальных векторов движения или режим нормального объединения выбран посредством модуля 105 определения способа предсказания на стороне кодирования, и список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории обновляется, когда информация предсказания, декодированная посредством модуля 201 декодирования битовых строк, задается относительно режима идентификации предикторов нормальных векторов движения или режима нормального объединения на стороне декодирования.[0113] The history-based motion vector predictor candidate list HmvpCandList is initially set at the beginning of the slice, the history-based motion vector predictor candidate list HmvpCandList is updated when the normal motion vector predictor identification mode or the normal combining mode is selected by the method determination module 105 prediction on the encoding side, and the list HmvpCandList of potentially suitable motion vector predictors based on history is updated when the prediction information decoded by the bit string decoding unit 201 is set to the normal motion vector predictor identification mode or normal combining mode on the decoding side.

[0114] Информация интер-предсказания, используемая, когда интер-предсказание выполняется в режиме идентификации предикторов нормальных векторов движения или режиме нормального объединения, регистрируется в качестве потенциально подходящего варианта hMvpCand информации интер-предсказания в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Потенциально подходящий вариант hMvpCand информации интер-предсказания включает в себя опорный индекс refIdxL0 L0, опорный индекс refIdxL1 L1, флаг predFlagL0 L0-предсказания, указывающий то, выполняется или нет L0-предсказание, флаг predFlagL1 L1-предсказания, указывающий то, выполняется или нет L1-предсказание, вектор mvL0 движения L0 и вектор mvL1 движения L1.[0114] The inter-prediction information used when inter-prediction is performed in the normal motion vector predictor identification mode or the normal combining mode is registered as the inter prediction information potential candidate hMvpCand in the history-based motion vector predictor potential candidate list HmvpCandList . Potentially suitable inter prediction information hMvpCand includes L0 reference index refIdxL0, L1 reference index refIdxL1, L0 prediction flag predFlagL0 indicating whether L0 prediction is performed or not, L1 prediction flag predFlagL1 indicating whether L1 is performed or not. -prediction, motion vector mvL0 L0 and motion vector mvL1 L1.

[0115] Когда имеется информация интер-предсказания, имеющая значение, идентичное значению потенциально подходящего варианта hMvpCand информации интер-предсказания, из числа элементов (т.е. информации интер-предсказания), зарегистрированных в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, предоставленном в запоминающем устройстве 111 для хранения информации кодирования на стороне кодирования и в запоминающем устройстве 205 для хранения информации кодирования на стороне декодирования, элемент удаляется из списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. С другой стороны, когда отсутствует информация интер-предсказания, имеющая значение, идентичное значению потенциально подходящего варианта hMvpCand информации интер-предсказания, элемент в начале списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории удаляется, и потенциально подходящий вариант hMvpCand информации интер-предсказания добавляется в конец списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории.[0115] When there is inter prediction information having a value identical to that of the inter prediction information candidate candidate hMvpCand, from among the elements (i.e., inter prediction information) registered in the list HmvpCandList of motion vector predictor candidate candidates based on provided in the encoding information storage 111 on the encoding side and in the encoding information storage 205 on the decoding side, the item is removed from the list HmvpCandList of potentially suitable motion vector predictors based on the history. On the other hand, when there is no inter prediction information having a value identical to that of the potential candidate hMvpCand of the inter prediction information, the element at the head of the list HmvpCandList of potential candidates of motion vector predictors based on the history is removed, and the potential candidate hMvpCand of the inter prediction information is added to the end of the HmvpCandList list of potentially suitable motion vector predictors based on history.

[0116] Число элементов списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, предоставленного в запоминающем устройстве 111 для хранения информации кодирования на стороне кодирования и в запоминающем устройстве 205 для хранения информации кодирования на стороне декодирования согласно настоящему изобретению, предположительно составляет шесть.[0116] The number of elements of the HmvpCandList list of potentially suitable motion vector predictors based on history provided in the encoding information storage 111 on the encoding side and in the encoding information storage 205 on the decoding side according to the present invention is supposed to be six.

[0117] Во-первых, список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории инициализируется в единицах срезов (этап S2101 по фиг. 26). Все элементы списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории являются пустыми в начале среза, и значение числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории (текущего числа потенциально подходящих вариантов), зарегистрированных в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, может задаваться равным 0.[0117] First, the list HmvpCandList of potentially suitable motion vector predictor options based on history is initialized in units of slices (step S2101 of FIG. 26). All elements of the list HmvpCandList of potential candidates of motion vector predictors based on history are empty at the beginning of the slice, and the value of the number NumHmvpCand of potential candidates of motion vector predictors based on history (the current number of candidates of potential candidates) registered in the list HmvpCandList of potential candidates of motion vector predictors based on history, can be set to 0.

[0118] Кроме того, инициализация списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории выполняется в единицах срезов (первого блока кодирования среза), но может выполняться в единицах кадров, плиток или строк древовидного блока.[0118] In addition, the initialization of the list HmvpCandList of potentially suitable history-based motion vector predictor candidates is performed in units of slices (of the first slice coding unit), but may be performed in units of frames, tiles, or rows of the treeblock.

[0119] Затем, следующий процесс обновления списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории итеративно выполняется для каждого блока кодирования в срезе (этапы S2102-S2107 по фиг. 26).[0119] Then, the following process of updating the list HmvpCandList of potentially suitable motion vector predictor options based on the history is iteratively performed for each coding block in the slice (steps S2102-S2107 of FIG. 26).

[0120] Во-первых, начальная настройка выполняется для каждого блока кодирования. Флаг identicalCandExist, указывающий то, имеется или нет идентичный потенциально подходящий вариант, задается равным значению "ложь", и индекс removeIdx цели удаления, указывающий потенциально подходящий вариант цели удаления, задается равным 0 (этап S2103 по фиг. 26).[0120] First, the initial setting is performed for each coding block. The identicalCandExist flag indicating whether or not there is an identical candidate is set to false, and the removal target index removeIdx indicating the potential candidate to be removed is set to 0 (step S2103 of FIG. 26).

[0121] Определяется то, имеется или нет потенциально подходящий вариант hMvpCand информации интер-предсказания цели регистрации (этап S2104 по фиг. 26). Когда модуль 105 определения способа предсказания на стороне кодирования определяет то, что режим представляет собой режим идентификации предикторов нормальных векторов движения или режим нормального объединения, либо когда модуль 201 декодирования битовых строк на стороне декодирования декодирует режим в качестве режима идентификации предикторов нормальных векторов движения или режима нормального объединения, его информация интер-предсказания задается в качестве потенциально подходящего варианта hMvpCand информации интер-предсказания цели регистрации. Когда модуль 105 определения способа предсказания на стороне кодирования определяет то, что режим представляет собой режим интра-предсказания, режим идентификации предикторов векторов движения на основе субблоков или режим объединения на основе субблоков, либо когда модуль 201 декодирования битовых строк на стороне декодирования декодирует режим в качестве режима интра-предсказания, режима идентификации предикторов векторов движения на основе субблоков или режима объединения на основе субблоков, процесс обновления списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории не выполняется, и потенциально подходящий вариант hMvpCand информации интер-предсказания цели регистрации не существует. Когда отсутствует потенциально подходящий вариант hMvpCand информации интер-предсказания цели регистрации, этапы S2105-S2106 пропускаются (этап S2104 по фиг. 26: "Нет"). Когда имеется потенциально подходящий вариант hMvpCand информации интер-предсказания цели регистрации, обработка с этапа S2105 выполняется (этап S2104 по фиг. 26: "Да").[0121] It is determined whether or not there is a potential candidate hMvpCand of registration target inter prediction information (step S2104 of FIG. 26). When the encoding side prediction method determination unit 105 determines that the mode is the normal motion vector predictor identification mode or the normal combining mode, or when the decoding side bit string decoding unit 201 decodes the mode as the normal motion vector predictor identification mode or the normal merging, its inter-prediction information is set as a potential candidate hMvpCand of the registration target inter-prediction information. When the encoding side prediction method determination unit 105 determines that the mode is an intra prediction mode, a sub-block motion vector predictor identification mode, or a sub-block combining mode, or when the decoding side bit string decoding unit 201 decodes the mode as of the intra-prediction mode, the sub-block based motion vector predictor identification mode, or the sub-block based combining mode, the process of updating the HmvpCandList list of potentially suitable history-based motion vector predictors is not performed, and the potentially suitable candidate hMvpCand of registration target inter-prediction information does not exist. When there is no potential candidate hMvpCand of registration target inter prediction information, steps S2105 to S2106 are skipped (step S2104 of FIG. 26: "No"). When there is a potential candidate hMvpCand of registration target inter prediction information, the processing from step S2105 is performed (step S2104 of FIG. 26: "Yes").

[0122] Затем, определяется то, имеется или нет элемент (информация интер-предсказания), имеющий значение, идентичное значению потенциально подходящего варианта hMvpCand информации интер-предсказания цели регистрации, т.е. идентичного элемента, из числа элементов списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этап S2105 по фиг. 26). Фиг. 27 является блок-схемой последовательности операций способа для процедуры обработки проверки на идентичные элементы. Когда значение числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равно 0 (этап S2121 по фиг. 27: "Нет"), список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории является пустым, и отсутствует идентичный потенциально подходящий вариант, так что этапы S2122-S2125 по фиг. 27 пропускаются, и текущая процедура обработки проверки на идентичные элементы завершается. Когда значение числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории превышает 0 ("Да" на этапе S2121 по фиг. 27), обработка этапа S2123 итеративно выполняется до тех пор, пока индекс hMvpIdx предиктора вектора движения на основе предыстории не изменяется с 0 до NumHmvpCand-1 (этапы S2122-S2125 по фиг. 27). Во-первых, сравнение выполняется относительно того, является или нет hMvpIdx-ый элемент HmvpCandList[hMvpIdx] при подсчете с 0-ого элемента списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории идентичным потенциально подходящему варианту hMvpCand информации интер-предсказания (этап S2123 по фиг. 27). Когда они являются идентичными (этап S2123 по фиг. 27: "Да"), флаг identicalCandExist, указывающий то, имеется или нет идентичный потенциально подходящий вариант, задается равным значению "истина", и индекс removeIdx цели удаления, указывающий позицию элемента цели удаления, задается равным текущему значению индекса hMvpIdx предиктора вектора движения на основе предыстории, и текущий процесс проверки на идентичные элементы завершается. Когда они не являются идентичными (этап S2123 по фиг. 27: "Нет"), hMvpIdx постепенно увеличивается на 1. Если индекс hMvpIdx предиктора вектора движения на основе предыстории меньше или равен NumHmvpCand-1, обработка с этапа S2123 выполняется.[0122] Next, it is determined whether or not there is an element (inter prediction information) having a value identical to the value of a potentially suitable variant hMvpCand of the registration target inter prediction information, i. an identical element from among the elements of the list HmvpCandList of potentially suitable motion vector predictors based on history (step S2105 of FIG. 26). Fig. 27 is a flowchart for a process of identical check processing. When the value of the number NumHmvpCand of the history-based motion vector predictor potential candidates NumHmvpCand is 0 (S2121 of FIG. 27: No), the history-based motion vector predictor candidate list HmvpCandList is empty, and there is no identical candidate, so that steps S2122-S2125 of FIG. 27 are skipped, and the current identity check processing routine is terminated. When the value of the number NumHmvpCand of potentially suitable history-based motion vector predictor cases exceeds 0 (Yes in step S2121 of FIG. 27), the processing of step S2123 is iteratively performed until the history-based motion vector predictor index hMvpIdx changes from 0 to NumHmvpCand-1 (steps S2122-S2125 of FIG. 27). First, a comparison is made as to whether or not the hMvpIdx th element of HmvpCandList[hMvpIdx] is, when counted from the 0 th element of the history-based motion vector predictor candidate candidate list, identical to the inter prediction information candidate candidate hMvpCand (step S2123 to Fig. 27). When they are identical (step S2123 of FIG. 27: Yes), the identicalCandExist flag indicating whether or not there is an identical candidate is set to true, and the removeIdx index of the removal target indicating the element position of the removal target, is set to the current value of the history-based motion vector predictor index hMvpIdx, and the current identical checking process is terminated. When they are not identical (step S2123 of FIG. 27: No), hMvpIdx is incrementally increased by 1. If the history-based motion vector predictor index hMvpIdx is less than or equal to NumHmvpCand-1, the processing from step S2123 is executed.

[0123] Со ссылкой на блок-схему последовательности операций способа по фиг. 26 снова, процесс сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории выполняется (этап S2106 по фиг. 26). Фиг. 28 является блок-схемой последовательности операций способа для процедуры обработки сдвига/добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории этапа S2106 по фиг. 26. Во-первых, определяется то, следует добавлять новый элемент после удаления элемента, сохраненного в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, либо добавлять новый элемент без удаления элемента. В частности, сравнение выполняется относительно того, представляет собой "истина" или нет флаг identicalCandExist, указывающий то, существует или нет идентичный потенциально подходящий вариант, либо того, равно NumHmvpCand или нет шести (этап S2141 по фиг. 28). Когда либо такое условие, что флаг identicalCandExist, указывающий то, имеется или нет идентичный потенциально подходящий вариант, представляет собой "истина", либо такое условие, что текущее число NumHmvpCand потенциально подходящих вариантов равно шести, удовлетворяется (этап S2141 по фиг. 28: "Да"), новый элемент добавляется после удаления элемента, сохраненного в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Начальное значение индекса i задается равным значению removeIdx+1. Процесс поэлементного сдвига этапа S2143 итеративно выполняется от этого начального значения до NumHmvpCand (этапы S2142-S2144 по фиг. 28). Посредством копирования элемента HmvpCandList[i] в HmvpCandList[i-1], элемент сдвигается вперед (этап S2143 по фиг. 28), и i постепенно увеличивается на 1 (этапы S2142-S2144 по фиг. 28). Затем, потенциально подходящий вариант hMvpCand информации интер-предсказания добавляется в (NumHmvpCand-1)-ый элемент HmvpCandList[NumHmvpCand-1] при подсчете с 0-ого элемента, который соответствует концу списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этап S2145 по фиг. 28), и текущий процесс сдвига/добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. С другой стороны, когда ни такое условие, что флаг identicalCandExist, указывающий то, имеется или нет идентичный потенциально подходящий вариант, представляет собой "истина", ни такое условие что, текущее число NumHmvpCand потенциально подходящих вариантов равно шести, не удовлетворяется (этап S2141 по фиг. 28: "Нет"), потенциально подходящий вариант hMvpCand информации интер-предсказания добавляется в конец списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории без удаления элемента, сохраненного в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этап S2146 по фиг. 28). Здесь, конец списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории представляет собой NumHmvpCand-ый элемент HmvpCandList[numHmvpCand] при подсчете с 0-ого элемента. Кроме того, NumHmvpCand постепенно увеличивается на 1, и текущий процесс сдвига/добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается.[0123] With reference to the flowchart of the method of FIG. 26 again, the process of shifting and adding a list item HmvpCandList of potentially suitable motion vector predictors based on history is performed (step S2106 of FIG. 26). Fig. 28 is a flowchart for the shift/add item HmvpCandList processing procedure of potentially suitable motion vector predictor options based on the history of step S2106 of FIG. 26. First, it is determined whether to add a new element after deleting an element stored in the HmvpCandList list of potentially suitable motion vector predictors based on history, or to add a new element without deleting the element. Specifically, a comparison is made as to whether or not the identicalCandExist flag indicating whether or not an identical candidate exists or whether or not NumHmvpCand is equal to or not six is "true" (step S2141 of FIG. 28). When either the condition that the identicalCandExist flag indicating whether or not there is an identical candidate is "true" or the condition that the current number of potential candidates NumHmvpCand is six is satisfied (step S2141 of FIG. 28: " Yes"), a new element is added after deleting an element stored in the HmvpCandList list of potentially eligible motion vector predictors based on history. The initial value of index i is set to the value removeIdx+1. The bit-shift process of step S2143 is iteratively executed from this initial value to NumHmvpCand (steps S2142-S2144 of FIG. 28). By copying the element HmvpCandList[i] to HmvpCandList[i-1], the element is shifted forward (step S2143 in FIG. 28) and i is gradually increased by 1 (steps S2142-S2144 in FIG. 28). Then, the inter-prediction information candidate hMvpCand is added to the (NumHmvpCand-1)th element of HmvpCandList[NumHmvpCand-1] counting from the 0th element, which corresponds to the end of the history-based motion vector predictor potential candidate list (step S2145 28), and the current process of shifting/adding an element of the list HmvpCandList of potentially suitable variants of motion vector predictors based on the history is completed. On the other hand, when neither the condition that the identicalCandExist flag indicating whether or not there is an identical candidate is "true" nor the condition that the current number of potential candidates NumHmvpCand is six is satisfied (step S2141 of 28: "No"), the potential candidate hMvpCand of the inter prediction information is added to the end of the history-based motion vector predictor candidates list without deleting the element stored in the history-based motion vector predictor candidates list HmvpCandList (step S2146 according to Fig. 28). Here, the end of the list of potentially candidate history-based motion vector predictors is the NumHmvpCand-th element of HmvpCandList[numHmvpCand] counted from the 0-th element. In addition, NumHmvpCand is incremented by 1, and the current process of shifting/adding an element of the list HmvpCandList of potentially suitable motion vector predictors based on history is completed.

[0124] Фиг. 31 является пояснительной схемой, показывающей пример процесса обновления списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Когда новый элемент добавляется в список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в котором зарегистрированы шесть элементов (информация интер-предсказания), элементы сравниваются с новой информацией интер-предсказания в порядке от переднего элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (фиг. 31A). Если новый элемент имеет значение, идентичное значению третьего элемента HMVP2 с начала списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, элемент HMVP2 удаляется из списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, и последующие элементы HMVP3-HMVP5 сдвигаются вперед (копируются) по одному, и новый элемент добавляется в конец списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (фиг. 31B), чтобы завершать обновление списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (фиг. 31C).[0124] FIG. 31 is an explanatory diagram showing an example of a process for updating a list of potentially candidate motion vector predictors based on history. When a new element is added to the history-based motion vector predictor potential candidate list HmvpCandList in which six elements (inter-prediction information) are registered, the elements are compared with the new inter-prediction information in order from the leading element of the motion vector predictor candidate list HmvpCandList based on history (FIG. 31A). If the new element has a value identical to the value of the third element of HMVP2 from the beginning of the HMVPCandList list of potentially candidate history-based motion vector predictors, the HMVP2 element is removed from the HMVPCandList of potentially candidate history-based motion vector predictor candidates, and subsequent HMVP3-HMVP5 elements are shifted forward ( are copied) one at a time, and a new element is added to the end of the HmvpCandList list of potentially suitable history-based motion vector predictor candidates (FIG. 31B) to complete the update of the HmvpCandList list of potentially candidate history-based motion vector predictor candidates (FIG. 31C).

[0125] Процесс извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории [0125] The process of extracting potentially suitable variants of motion vector predictors based on the history

Далее подробно описывается способ извлечения потенциально подходящего варианта предиктора вектора движения на основе предыстории из списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, который представляет собой процедуру обработки этапа S304 по фиг. 20, которая представляет собой процесс, общий для модуля 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения на стороне кодирования и модуля 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения на стороне декодирования. Фиг. 29 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории.The following describes in detail a method for extracting a potentially suitable history-based motion vector predictor candidate from a history-based motion vector predictor potential candidate list HmvpCandList, which is the processing procedure of step S304 of FIG. 20, which is a process common to the module 323 for extracting potential candidate motion vector predictor cases based on the history of the normal motion vector predictor identification mode extractor 301 on the encoding side and the module 423 for extracting potential candidate motion vector predictor candidates based on the history of the mode extraction module 401. identify predictors of normal motion vectors on the decoding side. Fig. 29 is an explanatory flowchart showing a history-based motion vector predictor potential candidate extraction processing procedure.

[0126] Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно максимальному числу элементов в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения (здесь, 2), или значение числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равно 0 ("Нет" на этапе S2201 по фиг. 29), обработка этапов S2202-S2209 по фиг. 29 опускается, и процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения, и значение числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории превышает 0 ("Да" на этапе S2201 по фиг. 29), обработка этапов S2202-S2209 по фиг. 29 выполняется.[0126] When the current number numCurrMvpCand of potential candidate motion vector predictor candidates is greater than or equal to the maximum number of elements in the list mvpListLX of candidate motion vector predictor candidates (here, 2), or the value of the number NumHmvpCand of potential candidate motion vector predictor candidates based on history is 0 ( No at step S2201 of Fig. 29), the processing of steps S2202 to S2209 of Fig. 29 is omitted, and the history-based motion vector predictor candidate extraction process is terminated. When the current number of candidate motion vector predictor candidates numCurrMvpCand is less than 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX, and the value of the number NumHmvpCand of candidate motion vector predictor candidates based on history is greater than 0 ("Yes" in step S2201 in Fig. 29), the processing of steps S2202-S2209 in Fig. 29 is being implemented.

[0127] Затем, обработка этапов S2203-S2208 по фиг. 29 итеративно выполняется до тех пор, пока индекс i не изменяется с 1 до меньшего значения из 4 и числа numCheckedHMVPCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этапы S2202-S2209 по фиг. 29). Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2203 по фиг. 29: "Нет"), обработка этапов S2204-S2209 на фиг. 29 опускается, и текущая процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2203 по фиг. 29: "Да"), обработка с этапа S2204 по фиг. 29 выполняется.[0127] Next, the processing of steps S2203-S2208 in FIG. 29 is iteratively executed until index i changes from 1 to the lower of 4 and the number numCheckedHMVPCand of potentially suitable history-based motion vector predictor candidates (steps S2202-S2209 of FIG. 29). When the current number of candidate motion vector predictor candidates numCurrMvpCand is greater than or equal to 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX (step S2203 of FIG. 29: No), the processing of steps S2204 to S2209 in FIG. 29 is omitted, and the current history-based motion vector predictor potential candidate extraction processing procedure is terminated. When the current number of candidate motion vector predictor candidates numCurrMvpCand is less than 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX (step S2203 of FIG. 29: "Yes"), the processing from step S2204 of FIG. 29 is being implemented.

[0128] Затем, обработка этапов S2205-S2207 выполняется для Y=0 и 1 (L0 и L1) (этапы S2204-S2208 по фиг. 29). Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2205 по фиг. 29: "Нет"), обработка этапов S2206-S2209 по фиг. 29 опускается, и текущая процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2205 по фиг. 29: "Да"), обработка с этапа S2206 по фиг. 29 выполняется.[0128] Next, the processing of steps S2205-S2207 is performed for Y=0 and 1 (L0 and L1) (steps S2204-S2208 in FIG. 29). When the current number of candidate motion vector predictor candidates numCurrMvpCand is greater than or equal to 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX (step S2205 of FIG. 29: "No"), the processing of steps S2206 to S2209 of FIG. 29 is omitted, and the current history-based motion vector predictor potential candidate extraction processing procedure is terminated. When the current number of candidate motion vector predictor candidates numCurrMvpCand is less than 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX (step S2205 of FIG. 29: "Yes"), the processing from step S2206 of FIG. 29 is being implemented.

[0129] Затем, в случае элемента, который имеет опорный индекс, идентичный опорному индексу refIdxLX вектора движения цели кодирования/декодирования, и который отличается от любого элемента списка mvpListLX предикторов векторов движения в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории ("Да" на этапе S2206 по фиг. 29), вектор движения LY потенциально подходящего варианта HmvpCandList[NumHmvpCand-i] предиктора вектора движения на основе предыстории добавляется в numCurrMvpCand-ый элемент mvpListLX[numCurrMvpCand] при подсчете с 0-ого элемента списка потенциально подходящих вариантов предикторов векторов движения (этап S2207 по фиг. 29), и текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения постепенно увеличивается на единицу. Когда отсутствует элемент, который имеет опорный индекс, идентичный опорному индексу refIdxLX вектора движения цели кодирования/декодирования, и который отличается от любого элемента списка mvpListLX предикторов векторов движения в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории ("Нет" на этапе S2206 по фиг. 29), дополнительная обработка этапа S2207 пропускается.[0129] Then, in the case of an element that has a reference index that is identical to the motion vector reference index refIdxLX of the encoding/decoding target, and that is different from any element of the motion vector predictor list mvpListLX in the list HmvpCandList of potentially suitable motion vector predictor candidates based on history (" Yes" in step S2206 of FIG. 29), the motion vector LY of the motion vector predictor based on the history HmvpCandList[NumHmvpCand-i] is added to the numCurrMvpCand th element of mvpListLX[numCurrMvpCand] when counting from the 0th element of the potentially suitable candidate list motion vector predictors (step S2207 of FIG. 29), and the current number numCurrMvpCand of potentially suitable motion vector predictor options is incremented by one. When there is no element that has a reference index identical to the motion vector reference index refIdxLX of the encoding/decoding target and that is different from any element of the motion vector predictor list mvpListLX in the history-based motion vector predictor candidate list HmvpCandList ("No" in step S2206) in Fig. 29), the additional processing of step S2207 is skipped.

[0130] Вышеуказанная обработка этапов S2205-S2207 по фиг. 29 выполняется для L0 и L1 (этапы S2204-S2208 по фиг. 29). Когда индекс i постепенно увеличивается на 1, и индекс i меньше или равен меньшему значению из 4 и числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории, обработка с этапа S2203 выполняется снова (этапы S2202-S2209 по фиг. 29).[0130] The above processing of steps S2205-S2207 in FIG. 29 is performed for L0 and L1 (steps S2204-S2208 in FIG. 29). When the index i is incremented by 1 and the index i is less than or equal to the smaller of 4 and the number of NumHmvpCand potentially suitable history-based motion vector predictors, the processing from step S2203 is performed again (steps S2202-S2209 of FIG. 29).

[0131] Процесс извлечения потенциально подходящих вариантов объединения на основе предыстории [0131] The process of extracting potentially suitable combinations based on history

Далее подробно описывается способ извлечения потенциально подходящих вариантов объединения на основе предыстории из списка HmvpCandList потенциально подходящих вариантов объединения на основе предыстории, который представляет собой процедуру обработки этапа S404 по фиг. 21, которая представляет собой процесс, общий для модуля 345 извлечения потенциально подходящих вариантов объединения на основе предыстории модуля 302 извлечения режимов нормального объединения на стороне кодирования и модуля 445 извлечения потенциально подходящих вариантов объединения на основе предыстории модуля 402 извлечения режимов нормального объединения на стороне декодирования. Фиг. 30 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения потенциально подходящих вариантов объединения на основе предыстории.The following describes in detail a method for extracting potentially matching history-based merges from the list of potentially matching history-based merges HmvpCandList, which is the processing procedure of step S404 of FIG. 21, which is a process common to the potentially good combining mode extractor 345 based on the history of the normal combining mode extractor 302 on the encoding side and the potential candidate combining mode extractor 445 based on the history of the normal combining mode extractor 402 on the decoding side. Fig. 30 is an explanatory flowchart showing a processing procedure for extracting potentially suitable combinations based on history.

[0132] Во-первых, процесс инициализации выполняется (этап S2301 по фиг. 30). Каждый (numCurrMergeCand-1)-ый элемент от 0 для isPruned[i] задается равным значению "ложь", и переменная numOrigMergeCand задается равным числу numCurrMergeCand элементов, зарегистрированных в текущем списке потенциально подходящих вариантов объединения.[0132] First, an initialization process is performed (step S2301 of FIG. 30). Each (numCurrMergeCand-1)th element from 0 to isPruned[i] is set to false, and numOrigMergeCand is set to the number of numCurrMergeCand elements registered in the current list of potentially suitable merges.

[0133] Затем, начальное значение индекса hMvpIdx задается равным 1, и процесс добавления этапов S2303-S2310 по фиг. 30 итеративно выполняется, до тех пор, пока индекс hMvpIdx не изменяется с начального значения до NumHmvpCand (этапы S2302-S2311 по фиг. 30). Если число элементов numCurrMergeCand, зарегистрированных в текущем списке потенциально подходящих вариантов объединения, не меньше или равно (максимальное число MaxNumMergeCand потенциально подходящих вариантов объединения - 1), потенциально подходящие варианты объединения добавляются во все элементы списка потенциально подходящих вариантов объединения, так что текущий процесс извлечения потенциально подходящих вариантов объединения на основе предыстории завершается ("Нет" на этапе S2303 по фиг. 30). Когда число numCurrMergeCand элементов, зарегистрированных в текущем списке потенциально подходящих вариантов объединения, меньше или равно (максимальное число MaxNumMergeCand потенциально подходящих вариантов объединения - 1) ("Да" на этапе S2303 по фиг. 30), обработка с этапа S2304 выполняется.[0133] Next, the hMvpIdx index initial value is set to 1, and the adding process of steps S2303-S2310 in FIG. 30 is iteratively executed until the hMvpIdx index changes from the initial value to NumHmvpCand (steps S2302-S2311 in FIG. 30). If the number of numCurrMergeCand elements registered in the current merge candidate list is not less than or equal to (MaxNumMergeCand maximum merge candidates is 1), candidate merges are added to all elements of the merge candidate list, so that the current retrieval process is potentially matching options based on the history is completed ("No" at step S2303 of Fig. 30). When the number numCurrMergeCand of items registered in the current merge candidate list is less than or equal to (the maximum number of candidate merge candidates MaxNumMergeCand is 1) ("Yes" in step S2303 of FIG. 30), the processing from step S2304 is executed.

[0134] Во-первых, значение "ложь" задается в sameMotion (этап S2304 на фиг. 30). Затем, начальное значение индекса i задается равным 0, и обработка этапов S2306 и S2307 по фиг. 30 выполняется с этого начального значения до 1 (S2305-S2308 по фиг. 30).[0134] First, the value "false" is set in the sameMotion (step S2304 in Fig. 30). Then, the initial value of the index i is set to 0, and the processing of steps S2306 and S2307 in FIG. 30 is executed from this initial value to 1 (S2305-S2308 in FIG. 30).

[0135] Затем, сравнение проводится относительно того, является или нет (NumHmvpCand-hMvpIdx)-ый элемент HmvpCandList[NumHmvpCand-hMvpIdx] при подсчете с 0 для списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории идентичным i-ому элементу mergeCandList[i] при подсчете с 0 для списка потенциально подходящих вариантов объединения (этап S2306 на фиг. 30). Здесь, тот факт, что значения потенциально подходящих вариантов объединения являются идентичными, указывает то, что значения всех компонентов (режима интер-предсказания, опорного индекса и вектора движения) потенциально подходящих вариантов объединения являются идентичными. Тем не менее, обработка этапа S2306 ограничена случаем, в котором hMvpIdx превышает NumHmvpCand-2, mergeCandList[i] представляет собой пространственный потенциально подходящий вариант объединения, и isPruned[i] представляет собой "ложь". Если значения являются идентичными ("Да" на этапе S2306 по фиг. 30), "истина" задается как для sameMotion, так и для isPruned[i] (этап S2307 по фиг. 30). Если значения не являются идентичными ("Нет" на этапе S2306 по фиг. 30), обработка этапа S2307 пропускается. Когда итеративная обработка этапов S2305-S2308 по фиг. 30 завершается, сравнение проводится относительно того, представляет или нет sameMotion собой "ложь" (этап S2309 на фиг. 30), (NumHmvpCand-hMvpIdx)-ый элемент HmvpCandList[NumHmvpCand-hMvpIdx] при подсчете с 0 для списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории добавляется в numCurrMergeCand-ый элемент mergeCandList[numCurrMergeCand] списка потенциально подходящих вариантов объединения, когда sameMotion представляет собой "ложь" ("Да" на этапе S2309 на фиг. 30), и numCurrMergeCand постепенно увеличивается на 1 (этап S2310 по фиг. 30). Индекс hMvpIdx постепенно увеличивается на 1 (этап S2302 на фиг. 30), и итеративная обработка этапов S2302-S2311 по фиг. 30 выполняется.[0135] Next, a comparison is made as to whether or not (NumHmvpCand-hMvpIdx)-th element of HmvpCandList[NumHmvpCand-hMvpIdx] when counted from 0 for a history-based list of potentially eligible motion vector predictor candidates is identical to the i-th element of mergeCandList[i ] while counting from 0 for the list of potentially matching merge options (step S2306 in FIG. 30). Here, the fact that the values of the candidate joins are identical indicates that the values of all components (inter prediction mode, reference index, and motion vector) of the candidate joins are identical. However, the processing of step S2306 is limited to the case in which hMvpIdx exceeds NumHmvpCand-2, mergeCandList[i] is a spatial merge candidate, and isPruned[i] is false. If the values are identical ("Yes" in step S2306 of FIG. 30), "true" is set for both sameMotion and isPruned[i] (step S2307 of FIG. 30). If the values are not identical ("No" in step S2306 of FIG. 30), the processing of step S2307 is skipped. When the iterative processing of steps S2305 to S2308 in FIG. 30 ends, a comparison is made as to whether or not sameMotion is "false" (step S2309 in FIG. 30), (NumHmvpCand-hMvpIdx)th element of HmvpCandList[NumHmvpCand-hMvpIdx] when counted from 0 for a list of potentially matching vector predictor options history-based motion is added to the numCurrMergeCand th element of mergeCandList[numCurrMergeCand] of the merge candidate list when sameMotion is false ("Yes" in step S2309 in FIG. 30), and numCurrMergeCand is gradually incremented by 1 (step S2310 to Fig. 30). The hMvpIdx index is gradually increased by 1 (step S2302 in FIG. 30), and the iterative processing of steps S2302-S2311 in FIG. 30 is in progress.

[0136] Когда проверка всех элементов списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается, либо когда потенциально подходящие варианты объединения добавляются во все элементы списка потенциально подходящих вариантов объединения, текущий процесс извлечения потенциально подходящих вариантов объединения на основе предыстории завершается.[0136] When the check of all elements of the history-based motion vector predictor candidate candidate list is completed, or when candidate joins are added to all elements of the candidate join list, the current history-based matching candidate extraction process ends.

[0137] Процесс предсказания с компенсацией движения [0137] Motion compensation prediction process

Модуль 306 предсказания с компенсацией движения получает позицию и размер блока, который представляет собой текущую цель процесса предсказания при кодировании. Кроме того, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания. Опорный индекс и вектор движения извлекаются из полученной информации интер-предсказания, и сигнал предсказания формируется после того, как получается сигнал кадров позиции, в которую опорный кадр, идентифицированный посредством опорного индекса в запоминающем устройстве 104 декодированных кадров, перемещается из позиции, идентичной позиции сигнала кадров блока предсказания, на величину вектора движения.Motion compensation prediction module 306 obtains the position and size of a block that is the current target of the encoding prediction process. In addition, the motion compensation prediction unit 306 obtains inter prediction information from the inter prediction mode determination unit 305 . The reference index and the motion vector are extracted from the obtained inter-prediction information, and the prediction signal is generated after the frame signal of the position at which the reference frame identified by the reference index in the decoded frame memory 104 moves from a position identical to the position of the frame signal is obtained. prediction block, by the magnitude of the motion vector.

[0138] Сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания с использованием сигнала предсказания, полученного из одного опорного кадра, в качестве сигнала предсказания с компенсацией движения, когда режим интер-предсказания при интер-предсказании представляет собой предсказание из одного опорного кадра, такое как L0-предсказание или L1-предсказание, и с использованием сигнала предсказания, полученного посредством сигналов предсказания с усреднением со взвешиванием, полученных из двух опорных кадров, в качестве сигнала предсказания с компенсацией движения, когда режим предсказания представляет собой предсказание из двух опорных кадров, такое как режим интер-предсказания бипредсказания. Хотя средневзвешенный коэффициент бипредсказания здесь составляет 1:1, усреднение со взвешиванием может выполняться с использованием другого коэффициента. Например, весовой коэффициент может увеличиваться по мере того, как межкадровый интервал между кадром, который представляет собой цель предсказания, и опорным кадром снижается. Кроме того, весовой коэффициент может вычисляться с использованием соответствующей таблицы между комбинациями межкадровых интервалов и весовых коэффициентов.[0138] The motion-compensated prediction signal is provided to the prediction method determination unit 105 using the prediction signal obtained from one reference frame as the motion-compensated prediction signal when the inter-prediction mode in inter-prediction is prediction from one reference frame , such as L0 prediction or L1 prediction, and using a prediction signal obtained by weighted average prediction signals obtained from two reference frames as a motion compensation prediction signal when the prediction mode is prediction from two reference frames , such as bi-prediction inter-prediction mode. Although the weighted average bi-prediction ratio here is 1:1, weighted averaging can be performed using a different ratio. For example, the weighting factor may increase as the inter-frame interval between a frame that is a prediction target and a reference frame decreases. In addition, the weighting factor may be calculated using an appropriate table between combinations of interframe intervals and weighting factors.

[0139] Модуль 406 предсказания с компенсацией движения имеет функцию, аналогичную функции модуля 306 предсказания с компенсацией движения на стороне кодирования. Модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения, модуля 402 извлечения режимов нормального объединения, модуля 403 извлечения режимов идентификации предикторов векторов движения на основе субблоков и модуля 404 извлечения режимов объединения на основе субблоков через переключатель 408. Модуль 406 предсказания с компенсацией движения предоставляет полученный сигнал предсказания с компенсацией движения в модуль 207 наложения сигналов кадров для декодирования.[0139] The motion compensation prediction module 406 has a function similar to that of the motion compensation prediction module 306 on the encoding side. The motion-compensated prediction module 406 obtains inter-prediction information from the normal motion vector predictor identification mode extractor 401, the normal combining mode extractor 402, the subblock-based motion vector predictor identification mode extractor 403, and the subblock-based combining mode extractor 404 via switch 408. The motion compensation prediction module 406 provides the received motion compensation prediction signal to the frame signal overlay module 207 for decoding.

[0140] Касательно режима интер-предсказания [0140] Regarding the inter prediction mode

Процесс выполнения предсказания из одного опорного кадра задается как унипредсказание. В случае унипредсказания, выполняется предсказание с использованием одного из двух опорных кадров, зарегистрированных в опорных списках L0 и L1, такое как L0-предсказание или L1-предсказание.The process of performing prediction from one reference frame is defined as uni-prediction. In the case of uniprediction, prediction is performed using one of the two reference frames registered in the L0 and L1 reference lists, such as L0 prediction or L1 prediction.

[0141] Фиг. 32 показывает случай унипредсказания, в котором время такта опорного кадра (RefL0Pic) L0 находится раньше времени такта целевого кадра (CurPic). Фиг. 33 показывает случай унипредсказания, в котором время такта опорного кадра L0-предсказания находится позже времени такта целевого кадра. Аналогично, опорный кадр L0-предсказания по фиг. 32 и 33 может заменяться опорным кадром (RefL1Pic) L1-предсказания, чтобы выполнять унипредсказание.[0141] FIG. 32 shows a case of uni-prediction in which the clock time of the reference frame (RefL0Pic) L0 is earlier than the clock time of the target frame (CurPic). Fig. 33 shows a case of uniprediction in which the cycle time of the L0 prediction reference frame is later than the cycle time of the target frame. Similarly, the L0 prediction reference frame of FIG. 32 and 33 may be replaced by an L1 prediction reference frame (RefL1Pic) to perform uni-prediction.

[0142] Процесс выполнения предсказания из двух опорных кадров задается как бипредсказание, и бипредсказание представляется как бипредсказание с использованием как L0-предсказания, так и L1-предсказания. Фиг. 34 показывает случай бипредсказания, в котором время такта опорного кадра L0-предсказания находится раньше времени такта целевого кадра, и время такта опорного кадра L1-предсказания находится позже времени такта целевого кадра. Фиг. 35 показывает случай бипредсказания, в котором времена такта опорного кадра L0-предсказания и опорного кадра L1-предсказания находятся раньше времени такта целевого кадра. Фиг. 36 показывает случай бипредсказания, в котором время такта опорного кадра L0-предсказания и время такта опорного кадра L1-предсказания находятся позже времени такта целевого кадра.[0142] The process of performing prediction from two reference frames is defined as bi-prediction, and the bi-prediction is represented as bi-prediction using both L0 prediction and L1 prediction. Fig. 34 shows a case of biprediction in which the cycle time of the L0 prediction reference frame is earlier than the clock time of the target frame, and the clock time of the L1 prediction reference frame is later than the clock time of the target frame. Fig. 35 shows a case of bi-prediction in which the cycle times of the L0 prediction reference frame and the L1 prediction reference frame are earlier than the cycle time of the target frame. Fig. 36 shows a case of bi-prediction in which the cycle time of the L0 prediction reference frame and the cycle time of the L1 prediction reference frame are later than the cycle time of the target frame.

[0143] Как описано выше, взаимосвязь между типом предсказания L0/L1 и временем может использоваться без ограничения L0, который находится в предыдущем направлении, и L1, который находится в будущем направлении. В случае бипредсказания, каждое из L0-предсказания и L1-предсказания может выполняться с использованием идентичного опорного кадра. Кроме того, определяется то, следует выполнять предсказание с компенсацией движения согласно унипредсказанию или бипредсказанию, на основе, например, информации (например, флага), указывающей то, следует или нет использовать L0-предсказание, и то, следует или нет использовать L1-предсказание.[0143] As described above, the relationship between L0/L1 prediction type and time can be used without limitation of L0, which is in the previous direction, and L1, which is in the future direction. In the case of bi-prediction, each of L0 prediction and L1 prediction may be performed using the same reference frame. In addition, it is determined whether motion compensation prediction according to uni-prediction or bi-prediction should be performed based on, for example, information (eg, a flag) indicating whether or not to use L0 prediction, and whether or not to use L1 prediction. .

[0144] Касательно опорного индекса [0144] Regarding the reference index

В варианте осуществления настоящего изобретения, можно выбирать оптимальный опорный кадр из множества опорных кадров при предсказании с компенсацией движения, чтобы повышать точность предсказания с компенсацией движения. Таким образом, опорный кадр, используемый при предсказании с компенсацией движения, используется в качестве опорного индекса, и опорный индекс кодируется в потоке битов вместе с разностью векторов движения.In an embodiment of the present invention, it is possible to select an optimal reference frame from a plurality of reference frames in motion-compensated prediction in order to improve the accuracy of motion-compensated prediction. Thus, a reference frame used in motion compensation prediction is used as a reference index, and the reference index is encoded in the bitstream along with the motion vector difference.

[0145] Процесс компенсации движения на основе режима идентификации предикторов нормальных векторов движения [0145] Motion compensation process based on normal motion vector predictor identification mode

Как показано в модуле 102 интер-предсказания на стороне кодирования по фиг. 16, когда информация интер-предсказания из модуля 301 извлечения режимов идентификации предикторов нормальных векторов движения выбрана в модуле 305 определения режима интер-предсказания, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания.As shown in the inter-prediction module 102 on the encoding side of FIG. 16, when the inter prediction information from the normal motion vector predictor identification mode extraction unit 301 is selected in the inter prediction mode determination unit 305, the motion compensation prediction unit 306 obtains the inter prediction information from the inter prediction mode determination unit 305, extracts the inter prediction mode -prediction, reference index, and motion vector of the current target block, and generates a motion-compensated prediction signal. The generated motion compensation prediction signal is provided to the prediction method determining unit 105 .

[0146] Аналогично, как показано в модуле 203 интер-предсказания на стороне декодирования по фиг. 22, когда переключатель 408 соединен с модулем 401 извлечения режимов идентификации предикторов нормальных векторов движения в процессе декодирования, модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 401 извлечения режимов идентификации предикторов нормальных векторов движения, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 207 наложения сигналов кадров для декодирования.[0146] Similarly, as shown in the inter prediction unit 203 on the decoding side of FIG. 22, when the switch 408 is connected to the normal motion vector predictor identification mode extraction unit 401 in the decoding process, the motion compensation prediction unit 406 obtains inter prediction information from the normal motion vector predictor identification mode extraction unit 401, extracts the inter prediction mode, reference index and a motion vector of the current target block, and generates a motion-compensated prediction signal. The generated motion-compensated prediction signal is provided to the frame superposition module 207 for decoding.

[0147] Процесс компенсации движения на основе режима нормального объединения [0147] Motion compensation process based on normal combining mode

Кроме того, как показано в модуле 102 интер-предсказания на стороне кодирования по фиг. 16, когда информация интер-предсказания выбрана из модуля 302 извлечения режимов нормального объединения в модуле 305 определения режима интер-предсказания, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания.In addition, as shown in the inter prediction unit 102 on the encoding side of FIG. 16, when the inter prediction information is selected from the normal combining mode derivation unit 302 in the inter prediction mode determination unit 305, the motion compensation prediction unit 306 obtains the inter prediction information from the inter prediction mode determination unit 305, extracts the inter prediction mode, a reference index and a motion vector of the current target block, and generates a motion-compensated prediction signal. The generated motion compensation prediction signal is provided to the prediction method determining unit 105 .

[0148] Аналогично, как показано в модуле 203 интер-предсказания на стороне декодирования по фиг. 22, когда переключатель 408 соединен с модулем 402 извлечения режимов нормального объединения в процессе декодирования, модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 402 извлечения режимов нормального объединения, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 207 наложения сигналов кадров для декодирования.[0148] Similarly, as shown in the inter prediction unit 203 on the decoding side of FIG. 22, when the switch 408 is connected to the normal combining mode extractor 402 in the decoding process, the motion compensation prediction module 406 obtains inter-prediction information from the normal combining mode extractor 402, extracts the inter-prediction mode, the reference index, and the motion vector of the current target block. and generates a motion-compensated prediction signal. The generated motion-compensated prediction signal is provided to the frame superposition module 207 for decoding.

[0149] Процесс компенсации движения на основе режима идентификации предикторов векторов движения на основе субблоков [0149] Motion compensation process based on sub-block based motion vector predictor identification mode

Кроме того, как показано в модуле 102 интер-предсказания на стороне кодирования по фиг. 16, когда информация интер-предсказания из модуля 303 извлечения режимов идентификации предикторов векторов движения на основе субблоков выбрана в модуле 305 определения режима интер-предсказания, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания.In addition, as shown in the inter prediction unit 102 on the encoding side of FIG. 16, when the inter prediction information from the sub-block motion vector predictor identification mode extraction unit 303 is selected in the inter prediction mode determination unit 305, the motion compensation prediction unit 306 obtains the inter prediction information from the inter prediction mode determination unit 305, extracts an inter-prediction mode, a reference index, and a motion vector of the current target block, and generates a motion-compensated prediction signal. The generated motion compensation prediction signal is provided to the prediction method determining unit 105 .

[0150] Аналогично, как показано в модуле 203 интер-предсказания на стороне декодирования по фиг. 22, когда переключатель 408 соединен с модулем 403 извлечения режимов идентификации предикторов векторов движения на основе субблоков в процессе декодирования, модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 403 извлечения режимов идентификации предикторов векторов движения на основе субблоков, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 207 наложения сигналов кадров для декодирования.[0150] Similarly, as shown in the inter prediction unit 203 on the decoding side of FIG. 22, when the switch 408 is connected to the sub-block motion vector predictor identification mode extraction unit 403 in the decoding process, the motion compensation prediction unit 406 obtains inter-prediction information from the sub-block motion vector predictor identification mode extraction unit 403, extracts the inter- prediction, reference index, and motion vector of the current target block, and generates a motion-compensated prediction signal. The generated motion-compensated prediction signal is provided to the frame superposition module 207 for decoding.

[0151] Процесс компенсации движения на основе режима объединения на основе субблоков [0151] Motion compensation process based on sub-block combining mode

Кроме того, как показано в модуле 102 интер-предсказания на стороне кодирования по фиг. 16, когда информация интер-предсказания из модуля 304 извлечения режимов объединения на основе субблоков выбрана в модуле 305 определения режима интер-предсказания, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания.In addition, as shown in the inter prediction unit 102 on the encoding side of FIG. 16, when the inter prediction information from the sub-block combining mode derivation unit 304 is selected in the inter prediction mode determination unit 305, the motion compensation prediction unit 306 obtains the inter prediction information from the inter prediction mode determination unit 305, extracts the inter prediction mode prediction, reference index, and motion vector of the current target block, and generates a motion-compensated prediction signal. The generated motion compensation prediction signal is provided to the prediction method determining unit 105 .

[0152] Аналогично, как показано в модуле 203 интер-предсказания на стороне декодирования по фиг. 22, когда переключатель 408 соединен с модулем 404 извлечения режимов объединения на основе субблоков в процессе декодирования, модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 404 извлечения режимов объединения на основе субблоков, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 207 наложения сигналов кадров для декодирования.[0152] Similarly, as shown in the inter prediction unit 203 on the decoding side of FIG. 22, when the switch 408 is connected to the subblock combining mode extractor 404 in the decoding process, the motion compensation prediction module 406 obtains inter prediction information from the subblock combining mode extractor 404, extracts the inter prediction mode, the reference index, and the vector movement of the current target block and generates a motion-compensated prediction signal. The generated motion-compensated prediction signal is provided to the frame superposition module 207 for decoding.

[0153] Процесс компенсации движения на основе предсказания с аффинным преобразованием [0153] Motion Compensation Process Based on Affine Transform Prediction

В режиме идентификации предикторов нормальных векторов движения и режиме нормального объединения, компенсация движения аффинной модели может использоваться на основе следующих флагов. Следующие флаги отражаются в следующих флагах на основе условий интер-предсказания, определенных посредством модуля 305 определения режима интер-предсказания в процессе кодирования, и кодируются в потоке битов. В процессе декодирования, идентифицируется то, следует или нет выполнять компенсацию движения аффинной модели, на основе следующих флагов в потоке битов.In normal motion vector predictor identification mode and normal pooling mode, affine model motion compensation can be used based on the following flags. The following flags are reflected in the following flags based on the inter-prediction conditions determined by the inter-prediction mode determination unit 305 during encoding, and are encoded in the bitstream. In the decoding process, whether or not to perform motion compensation of the affine model is identified based on the following flags in the bitstream.

[0154] sps_affine_enabled_flag представляет то, может или нет компенсация движения аффинной модели использоваться при интер-предсказании. Если sps_affine_enabled_flag равен 0, подавление выполняется таким образом, что она не представляет собой компенсацию движения аффинной модели в единицах последовательностей. Кроме того, inter_affine_flag и cu_affine_type_flag не передаются в синтаксисе CU (блоков кодирования) видеопоследовательности для кодирования. Если sps_affine_enabled_flag равен 1, компенсация движения аффинной модели может использоваться в видеопоследовательности для кодирования.[0154] sps_affine_enabled_flag represents whether or not affine model motion compensation can be used in inter-prediction. If sps_affine_enabled_flag is 0, suppression is performed in such a way that it does not represent motion compensation of the affine model in units of sequences. In addition, inter_affine_flag and cu_affine_type_flag are not passed in the syntax of the CU (coding units) of the video sequence for encoding. If sps_affine_enabled_flag is equal to 1, affine model motion compensation can be used in the video sequence for encoding.

[0155] sps_affine_type_flag представляет то, может или нет компенсация движения шестипараметрической аффинной модели использоваться при интер-предсказании. Если sps_affine_type_flag равен 0, подавление выполняется таким образом, что она не представляет собой компенсацию движения шестипараметрической аффинной модели. Кроме того, cu_affine_type_flag не передается в CU-синтаксисе видеопоследовательности для кодирования. Если sps_affine_type_flag равен 1, компенсация движения шестипараметрической аффинной модели может использоваться в видеопоследовательности для кодирования. Когда sps_affine_type_flag не существует, он предположительно равен 0.[0155] The sps_affine_type_flag represents whether or not six-parameter affine model motion compensation can be used in inter-prediction. If sps_affine_type_flag is 0, suppression is performed in such a way that it does not represent motion compensation of the six-parameter affine model. In addition, cu_affine_type_flag is not passed in the video sequence CU syntax for encoding. If sps_affine_type_flag is equal to 1, six-parameter affine model motion compensation may be used in the video sequence for encoding. When sps_affine_type_flag does not exist, it is assumed to be 0.

[0156] Когда P- или B-срез декодируется, если inter_affine_flag равен 1 в текущей целевой CU, компенсация движения аффинной модели используется для того, чтобы формировать сигнал предсказания с компенсацией движения текущей целевой CU. Если inter_affine_flag равен 0, аффинная модель не используется в текущей целевой CU. Когда inter_affine_flag не существует, он предположительно равен 0.[0156] When a P or B slice is decoded, if inter_affine_flag is equal to 1 in the current target CU, the affine model motion compensation is used to generate a motion compensated prediction signal of the current target CU. If inter_affine_flag is 0, the affine model is not used in the current target CU. When inter_affine_flag does not exist, it is assumed to be 0.

[0157] Когда P- или B-срез декодируется, если cu_affine_type_flag равен 1 в текущей целевой CU, компенсация движения шестипараметрической аффинной модели используется для того, чтобы формировать сигнал предсказания с компенсацией движения текущей целевой CU. Если cu_affine_type_flag равен 0, компенсация движения четырехпараметрической аффинной модели используется для того, чтобы формировать сигнал предсказания с компенсацией движения текущей целевой CU.[0157] When a P- or B-slice is decoded, if cu_affine_type_flag is equal to 1 in the current target CU, the six-parameter affine model motion compensation is used to generate a motion-compensated prediction signal of the current target CU. If cu_affine_type_flag is equal to 0, the motion compensation of the four-parameter affine model is used to generate the motion-compensated prediction signal of the current target CU.

[0158] В компенсации движения аффинной модели, поскольку опорный индекс и вектор движения извлекаются в единицах субблоков, сигнал предсказания с компенсацией движения формируется с использованием опорного индекса или вектора движения, который представляет собой цель в единицах субблоков.[0158] In the motion compensation of the affine model, since the reference index and the motion vector are extracted in units of sub-blocks, a motion-compensated prediction signal is generated using the reference index or motion vector, which is the target in units of sub-blocks.

[0159] Четырехпараметрическая аффинная модель представляет собой режим, в котором вектор движения субблока извлекается из четырех параметров горизонтальных компонентов и вертикальных компонентов векторов движения двух управляющих точек, и компенсация движения выполняется в единицах субблоков.[0159] The four-parameter affine model is a mode in which the motion vector of a subblock is extracted from the four parameters of the horizontal components and the vertical components of the motion vectors of two control points, and motion compensation is performed in units of subblocks.

[0160] В настоящем варианте осуществления, опорный порядок, когда список потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется, может быть дополнительно выполнен с возможностью представлять собой обратный порядок, который является обратным по отношению к порядку хранения. Здесь, когда информация движения сохраняется с концевой стороны списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, и информация движения последовательно сохраняется таким образом, что информация движения в начальной стороне списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории выполнена с возможностью быть более старой, чем информация движения в его концевой стороне, состояние хранения является аналогичным состоянию хранения настоящего варианта осуществления. Кроме того, когда информация движения последовательно сохраняется таким образом, что информация движения в начальной стороне списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории выполнена с возможностью быть более новой, чем информация движения в его концевой стороне, состояние хранения представляет собой обратное состояние хранения, которое является обратным по отношению к состоянию хранения, показанному в настоящем варианте осуществления. В случае вышеописанного обратного состояния хранения, опорный порядок задается в качестве перемены порядка хранения, так что когда ссылаются на опорный контент, как показано в настоящем варианте осуществления, т.е. на список потенциально подходящих вариантов предикторов векторов движения на основе предыстории, можно ссылаться на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения. Кроме того, может приспосабливаться конфигурация, в которой случай, в котором опорный порядок используется в качестве порядка, имеющего направление, идентичное направлению порядка хранения, и случай, в котором опорный порядок, используется в качестве порядка, имеющего направление, противоположное порядку хранения, отличаются, когда список потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется. Таким образом, может приспосабливаться конфигурация, в которой случай, в котором можно ссылаться на информацию движения, сохраненную в списке потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в порядке от самой старой информации движения до новой добавленной информации движения, и случай, в котором можно ссылаться на информацию движения, сохраненную в списке потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в порядке от новой добавленной информации движения до самой старой информации движения, отличаются, когда список потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется.[0160] In the present embodiment, the reference order, when a list of potentially suitable motion vector predictor options based on history is used, can be further configured to be a reverse order, which is the reverse of the storage order. Here, when the motion information is stored at the end side of the history-based motion vector predictor potential candidate list, and the motion information is sequentially stored such that the motion information at the head end of the history-based motion vector predictor potential candidate list is configured to be older than the motion information at its end side, the storage state is the same as the storage state of the present embodiment. In addition, when the motion information is sequentially stored such that the motion information in the leading side of the history-based motion vector predictor potential candidate list is configured to be newer than the motion information in its trailing side, the storage state is the inverse of the storage state, which is the reverse of the storage state shown in the present embodiment. In the case of the reverse storage state described above, the reference order is set as a storage order reversal, so that when the reference content is referred to as shown in the present embodiment, i.e. a list of potentially candidate motion vector predictors based on history can be referred to motion information in order from oldest motion information to newest added motion information. In addition, a configuration can be adopted in which the case in which the reference order is used as the order having the same direction as the storage order and the case in which the reference order is used as the order having the opposite direction to the storage order are different, when a list of potentially candidate candidate motion vector predictors based on history is used. Thus, a configuration can be adopted in which the case in which the motion information stored in the history-based motion vector predictor candidate candidate list can be referred to in order from the oldest motion information to the newest added motion information, and the case in which it is possible to refer to the motion information stored in the history-based motion vector predictor candidate list in order from the newest added motion information to the oldest motion information differ when the history-based motion vector predictor candidate list is used.

[0161] Кроме того, может приспосабливаться конфигурация, в которой процесс извлечения элемента, имеющего идентичную информацию, из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, и удаления извлеченного элемента не выполняется, когда новый элемент добавляется в список потенциально подходящих вариантов предикторов векторов движения на основе предыстории.[0161] In addition, a configuration can be adopted in which the process of extracting an element having identical information from a list of potential candidate motion vector predictor candidates based on history, and deleting the extracted element is not performed when a new element is added to the list of potential candidate vector predictor candidates. movements based on prehistory.

[0162] Дополнительно, может приспосабливаться конфигурация, в которой процесс извлечения элемента, имеющего идентичную информацию, из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, и предотвращения задания элемента, имеющего идентичную информацию, в качестве потенциально подходящего варианта предиктора нормального вектора движения не выполняется, когда потенциально подходящий вариант предиктора нормального вектора движения извлекается с использованием списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории в режиме идентификации предикторов нормальных векторов движения.[0162] Additionally, a configuration may be adopted in which the process of extracting an element having identical information from a list of potential motion vector predictor candidates based on history and preventing the element having identical information from being set as a normal motion vector predictor candidate candidate is not is performed when a candidate normal motion vector predictor candidate is derived using the history-based motion vector predictor candidate list HmvpCandList in the normal motion vector predictor identification mode.

[0163] Список потенциально подходящих вариантов предикторов векторов движения на основе предыстории [0163] A list of potentially eligible motion vector predictors based on history

Здесь, в дальнейшем описывается конфигурация и работа списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории.Hereinafter, the configuration and operation of a history-based motion vector predictor candidate list is described.

[0164] Как показано на фиг. 41, информация интер-предсказания, используемая при интер-предсказании в целевом блоке кодирования, задается в качестве потенциально подходящего варианта hMvpCand информации интер-предсказания, который должен регистрироваться, и информация интер-предсказания регистрируется в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории в качестве предыстории, используемой в прошлом. На фиг. 41, список потенциально подходящих вариантов предикторов векторов движения на основе предыстории имеет списковую структуру, допускающую сохранение шести элементов, и схема "первый на входе - первый на выходе" (FIFO), в которой элементы извлекаются в порядке от ранее сохраненного элемента, используется в качестве базовой операции хранения.[0164] As shown in FIG. 41, the inter prediction information used in inter prediction in the coding target block is set as an inter prediction information candidate candidate hMvpCand to be registered, and the inter prediction information is registered in the motion vector predictor candidate candidate list HmvpCandList based on backstory as the backstory used in the past. In FIG. 41, the history-based motion vector predictor candidate list has a list structure capable of storing six elements, and a first-in-first-out (FIFO) scheme in which elements are retrieved in order from the previously stored element is used as basic storage operation.

[0165] Здесь, хотя в дальнейшем описывается пример, в котором максимальное число элементов, допускающих сохранение в HmvpCandList, составляет шесть в качестве согласования между стороной кодирования и стороной декодирования, максимальное число не ограничено конкретным образом и может составлять шесть или больше. Кроме того, максимальное число элементов, допускающих сохранение в HmvpCandList, может быть сконфигурировано с возможностью составлять пять или меньше. Например, HmvpCandList может быть сконфигурирован с максимальным числом элементов, эквивалентному максимальному числу элементов потенциально подходящих вариантов информации интер-предсказания, к примеру, максимальному числу элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения, максимальному числу потенциально подходящих вариантов объединения и максимальному числу потенциально подходящих вариантов объединения на основе субблоков. Кроме того, HmvpCandList может быть сконфигурирован совместно с максимальным числом элементов потенциально подходящих вариантов информации интер-предсказания в каждом режиме.[0165] Here, although the following describes an example in which the maximum number of items that can be stored in the HmvpCandList is six as a negotiation between the encoding side and the decoding side, the maximum number is not specifically limited and may be six or more. In addition, the maximum number of items allowed to be stored in the HmvpCandList may be configured to be five or less. For example, the HmvpCandList may be configured with a maximum number of elements equivalent to the maximum number of elements of potentially suitable inter-prediction information cases, e.g. associations based on subblocks. In addition, the HmvpCandList may be configured in conjunction with the maximum number of elements of potentially suitable inter-prediction information options in each mode.

[0166] Может приспосабливаться конфигурация, в которой максимальное число элементов HmvpCandList включается в синтаксический элемент потока битов и в силу этого доставляется из стороны кодирования в сторону декодирования.[0166] A configuration may be adopted in which the maximum number of HmvpCandList elements is included in the bitstream syntax element and thereby delivered from the encoding side to the decoding side.

[0167] Как показано на фиг. 41, HmvpCandList может сохранять шесть элементов от позиции 0, которая представляет собой начало списка, до позиции 5, которая представляет собой конец списка, и может встраивать элементы от позиции 0 до позиции 5. Эти позиции 0-5 управляются в качестве индексов hMvpIdx предикторов векторов движения на основе предыстории. Например, позиция 0 может выражаться как hMVpIdx[0], и позиция 5 может выражаться как hMVpIdx[5]. Число сохраненных элементов HmvpCandList управляется посредством NumHmvpCand, и увеличение/снижение числа сохраненных элементов управляется в диапазоне 0-6, что представляет собой максимальное число элементов.[0167] As shown in FIG. 41, HmvpCandList can store six elements from position 0, which is the beginning of the list, to position 5, which is the end of the list, and can embed elements from position 0 to position 5. These positions 0-5 are managed as hMvpIdx indexes of predictor vectors. movements based on prehistory. For example, position 0 may be expressed as hMVpIdx[0], and position 5 may be expressed as hMVpIdx[5]. The number of stored elements of the HmvpCandList is controlled by NumHmvpCand, and the increase/decrease in the number of stored elements is controlled in the range of 0-6, which is the maximum number of elements.

[0168] В дальнейшем подробно описывается случай, в котором новый элемент добавляется со стороны конца в состоянии, в котором максимальное число элементов сохраняется в HmvpCandList. Как показано на фиг. 42, когда потенциально подходящий вариант hMvpCand информации интер-предсказания имеет намерение быть новым зарегистрированным в качестве предыстории, элемент в позиции 0, которая представляет собой начало, удаляется, и позиции соответствующих элементов сдвигаются по одной в направлении к началу. Как результат сдвига, число сохраненных элементов постепенно уменьшается на единицу, как показано на фиг. 43, и в силу этого новый элемент может сохраняться в позиции 5 конца. Следовательно, новый элемент добавляется в HmvpCandList, как показано на фиг. 44, посредством сохранения потенциально подходящего варианта hMvpCand информации интер-предсказания в позиции 5 конца.[0168] The following describes in detail the case in which a new element is added from the end in a state in which the maximum number of elements is stored in the HmvpCandList. As shown in FIG. 42, when a potential candidate hMvpCand of the inter prediction information is intended to be newly registered as a history, the element at position 0, which is the start, is removed, and the positions of the respective elements are shifted one by one towards the start. As a result of the shift, the number of stored items is gradually reduced by one, as shown in FIG. 43, and because of this, a new element can be stored at end position 5. Therefore, a new element is added to the HmvpCandList as shown in FIG. 44 by storing a potentially suitable hMvpCand inter-prediction information at end position 5.

[0169] Модифицированный пример (часть 1)[0169] Modified example (part 1)

В качестве модифицированного примера первого варианта осуществления, приспосабливается конфигурация, в которой процесс выполняется для списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, как показано ниже.As a modified example of the first embodiment, a configuration is adopted in which a process is performed for a history-based list of potentially suitable motion vector predictors as shown below.

Извлечение идентичных потенциально подходящих вариантов в списке потенциально подходящих вариантов предикторов векторов движения на основе предысторииRetrieve identical potential matches in a list of potential candidates of motion vector predictors based on history

Когда список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется в опорном порядке, как показано на фиг. 45, элемент (информация интер-предсказания) удаляется из списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, когда имеется интер-предсказание, имеющее значение, идентичное значению потенциально подходящего варианта hMvpCand информации интер-предсказания, который должен регистрироваться в информации интер-предсказания, зарегистрированной в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Процесс удаления идентичного потенциально подходящего варианта в дальнейшем называется "процессом удаления идентичных потенциально подходящих вариантов". Приспосабливается конфигурация, в которой процесс удаления идентичных потенциально подходящих вариантов, когда элемент добавляется в список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, не выполняется. Кроме того, приспосабливается конфигурация, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется, когда список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется со ссылкой в обратном порядке, который является обратным по отношению к порядку хранения, в котором новый элемент добавляется в конец списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, как показано на фиг. 46.When the list HmvpCandList of potentially candidate history-based motion vector predictors is used in reference order, as shown in FIG. 45, an item (inter prediction information) is removed from the history-based motion vector predictor candidate list HmvpCandList when there is an inter prediction having a value identical to that of the inter prediction information candidate candidate hMvpCand to be registered in the inter prediction information. prediction registered in the HmvpCandList list of potentially suitable motion vector predictors based on history. The process of removing an identical candidate is hereinafter referred to as the "identical candidate removing process". A configuration is adopted in which the process of deleting identical candidates when an item is added to the HmvpCandList of potential candidates of motion vector predictors based on history is not performed. In addition, a configuration is adopted in which the process of deleting identical candidates is not performed when the history-based motion vector predictor candidate list HmvpCandList is used with reference in reverse order, which is the reverse of the storage order in which the new element is added. to the end of the list of potentially eligible motion vector predictors based on history, as shown in FIG. 46.

Фиг. 38 является блок-схемой последовательности операций способа для описания процедуры обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в случае конфигурации, в которой ссылка выполняется в обратном порядке, который является обратным по отношению к порядку хранения, в котором информация движения добавляется с концевой стороны, используется информация движения, которая представляет собой потенциально подходящий вариант предиктора вектора движения на основе предыстории, сохраненный в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории ссылкой в порядке от самой старой информации движения до новой добавленной информации движения, и процесс удаления идентичных потенциально подходящих вариантов не выполняется.Fig. 38 is a flowchart for describing a processing procedure for retrieving potentially suitable motion vector predictor cases based on history, in the case of a configuration in which the reference is performed in reverse order, which is the reverse of the storage order in which motion information is added with end side, motion information is used that is a history-based motion vector predictor candidate stored in the history-based motion vector predictor candidate list HmvpCandList by reference in order from the oldest motion information to the newest added motion information, and a deletion process identical potentially suitable options are not met.

Информация интер-предсказания, используемая, когда интер-предсказание выполняется в нормальном режиме вектора предсказания или режиме нормального объединения, задается в качестве потенциально подходящих вариантов hMvpCand информации интер-предсказания, которые должны регистрироваться, и потенциально подходящие варианты hMvpCand информации интер-предсказания, которые должны регистрироваться, добавляются в порядке от пустой позиции, ближайшей к начальной стороне, независимо от того, имеется или нет интер-предсказание, имеющее значение, идентичное значению потенциально подходящего варианта hMvpCand информации интер-предсказания, который должен регистрироваться в информации интер-предсказания, зарегистрированной в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, предоставленном в запоминающем устройстве 111 для хранения информации кодирования стороны кодирования и в запоминающем устройстве 205 для хранения информации кодирования стороны декодирования. Когда HmvpCandList заполняется до тех пор, пока максимальное число элементов не достигается, элемент (информация интер-предсказания) в начале списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории удаляется, и потенциально подходящий вариант hMvpCand информации интер-предсказания, который должен регистрироваться, добавляется в конце списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Число элементов списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, предоставленного в запоминающем устройстве 111 для хранения информации кодирования стороны кодирования и в запоминающем устройстве 205 для хранения информации кодирования стороны декодирования настоящего варианта осуществления, предположительно равно 6. Во-первых, начальная настройка выполняется в единицах срезов. Список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории инициализируется в начале среза, и значение числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории, зарегистрированных в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, задается равным 0 (этап S2401 по фиг. 38).The inter prediction information used when inter prediction is performed in normal prediction vector mode or normal combining mode is set as inter prediction information candidates hMvpCand to be registered and inter prediction information candidates hMvpCand to be recorded. to be registered are added in order from the empty position closest to the start side, regardless of whether or not there is an inter prediction having a value identical to the value of a potentially suitable variant hMvpCand of the inter prediction information to be registered in the inter prediction information registered in a list HmvpCandList of potentially suitable motion vector predictors based on the history provided in the encoding information storage 111 and the encoding information storage 205 decoding rons. When HmvpCandList is filled until the maximum number of elements is reached, the element (inter-prediction information) at the head of the list HmvpCandList of candidate history-based motion vector predictor candidates is removed, and the candidate candidate inter-prediction information hMvpCand to be registered, is added at the end of the HmvpCandList list of potentially suitable motion vector predictors based on history. The number of elements of the list HmvpCandList of potentially suitable motion vector predictors based on history provided in the encoding-side encoding information storage 111 and in the decoding-side encoding information storage 205 of the present embodiment is assumed to be 6. First, the initial setting performed in slice units. The history-based motion vector predictor potential candidate list HmvpCandList is initialized at the beginning of the slice, and the value of the number NumHmvpCand of the history-based motion vector predictor potential candidates registered in the history-based motion vector predictor potential candidate list HmvpCandList is set to 0 (step S2401 according to Fig. 38).

Затем, процесс обновления списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории для каждого блока кодирования в срезе итеративно выполняется (этапы S2402-S2407 по фиг. 38). Определяется то, имеется или нет потенциально подходящий вариант hMvpCand информации интер-предсказания, который представляет собой цель регистрации в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этап S2404 на фиг. 38). Когда модуль 105 определения способа предсказания стороны кодирования определяет то, что режим представляет собой режим идентификации предикторов нормальных векторов движения или режим нормального объединения, либо когда модуль декодирования битовых строк стороны декодирования выполняет декодирование в режиме идентификации предикторов нормальных векторов движения или режиме нормального объединения, режим интер-предсказания предположительно представляет собой hMvpCand. Когда модуль 105 определения способа предсказания стороны кодирования определяет то, что режим представляет собой режим интра-предсказания, режим идентификации предикторов векторов движения на основе субблоков или режим объединения на основе субблоков, либо когда модуль декодирования битовых строк стороны декодирования выполняет декодирование в режиме интра-предсказания, режиме идентификации предикторов векторов движения на основе субблоков или режиме объединения на основе субблоков, отсутствует потенциально подходящий вариант hMvpCand информации интер-предсказания, который представляет собой цель регистрации без выполнения процесса обновления списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Когда отсутствует потенциально подходящий вариант hMvpCand информации интер-предсказания, который представляет собой цель регистрации, этап S2406 пропускается (этап S2404 по фиг. 38: "Нет"). Когда имеется потенциально подходящий вариант hMvpCand информации интер-предсказания, который представляет собой цель регистрации, обработка с этапа S2406 выполняется (этап S2404 по фиг. 38: "Да").Then, the process of updating the list HmvpCandList of potentially suitable motion vector predictor cases based on the history for each coding block in the slice is iteratively performed (steps S2402-S2407 of FIG. 38). It is determined whether or not there is a potential candidate hMvpCand of inter prediction information, which is the target of registering in the HmvpCandList of potential candidate motion vector predictors based on history (step S2404 in FIG. 38). When the encoding side prediction method determination unit 105 determines that the mode is the normal motion vector predictor identification mode or normal combining mode, or when the decoding side bit string decoding unit performs decoding in the normal motion vector predictor identification mode or normal combining mode, the inter -prediction is presumably hMvpCand. When the encoding side prediction method determination unit 105 determines that the mode is an intra prediction mode, a sub-block based motion vector predictor identification mode, or a sub-block combining mode, or when the decoding side bit string decoding unit performs decoding in the intra prediction mode , the sub-block based motion vector predictor identification mode, or the sub-block based combining mode, there is no potential candidate hMvpCand of the inter-prediction information that is the target of registration without performing an update process of the list HmvpCandList of potential candidate historical motion vector predictor predictors. When there is no potential candidate hMvpCand of the inter prediction information that is the registration target, step S2406 is skipped (step S2404 of FIG. 38: "No"). When there is a potential candidate hMvpCand of the inter prediction information that is the registration target, the processing from step S2406 is performed (step S2404 of FIG. 38: "Yes").

Затем, процесс сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории выполняется (этап S2406 по фиг. 38).Then, a process of shifting and adding a list item HmvpCandList of potentially suitable motion vector predictor options based on the history is performed (step S2406 of FIG. 38).

Когда процесс, как показано на фиг. 38, выполняется, можно опускать процесс проверки и удаления идентичного потенциально подходящего варианта и процесс настройки или сравнения переменных для выполнения процесса и уменьшать объем обработки.When the process, as shown in FIG. 38 is performed, it is possible to omit the process of checking and deleting the identical potential candidate and the process of setting or comparing variables to execute the process and reduce the amount of processing.

Кроме того, даже если процесс удаления идентичных потенциально подходящих вариантов не выполняется относительно списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, когда элемент должен добавляться в список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, можно уменьшать вероятность того, что идентичный потенциально подходящий вариант должен добавляться в список потенциально подходящих вариантов предикторов векторов движения посредством ссылки на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения.In addition, even if the process of removing identical potential candidates is not performed on the history-based motion vector predictor potential candidate list, when an element is to be added to the history-based motion vector predictor candidate list HmvpCandList, it is possible to reduce the probability that the identical potential the candidate should be added to the list of potentially candidate motion vector predictor candidates by referring to the motion information in order from the oldest motion information to the newest added motion information.

[0170] Модифицированный пример (часть 2)[0170] Modified example (part 2)

В качестве модифицированного примера первого варианта осуществления, процедура обработки сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории на этапе S2406 по фиг. 38 имеет следующую конфигурацию.As a modified example of the first embodiment, the procedure for processing the shift and adding a list item HmvpCandList of potentially suitable motion vector predictor options based on history in step S2406 of FIG. 38 has the following configuration.

Фиг. 39 является блок-схемой последовательности операций способа для процедуры обработки сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории на этапе S2406 по фиг. 38.Fig. 39 is a flowchart for the shift processing procedure and adding an item HmvpCandList of potentially suitable history-based motion vector predictor options in step S2406 of FIG. 38.

Во-первых, определяется то, должен или нет новый элемент добавляться после того, как элемент в начале, сохраненный в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, удаляется, либо то, должен или нет новый элемент добавляться без удаления элемента. В частности, сравнение проводится относительно того, равен NumHmvpCand 6 или нет (этап S2541 по фиг. 39). Когда NumHmvpCand равен 6 (этап S2541 по фиг. 39: "Да"), новый элемент должен добавляться после того, как элемент в начале, сохраненный в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, удаляется. Начальное значение индекса i задается равным значению 1. Процесс поэлементного сдвига этапа S2543 итеративно выполняется с этого начального значения до NumHmvpCand (этапы S2542-S2544 по фиг. 39). Посредством копирования элементов HmvpCandList[i] в HmvpCandList[i-1], элементы сдвигаются вперед (этап S2543 по фиг. 39), и i постепенно увеличивается на 1 (этапы S2542 и S2544 по фиг. 39). Затем, потенциально подходящий вариант hMvpCand информации интер-предсказания добавляется в (NumHmvpCand-1)-ый элемент HmvpCandList[NumHmvpCand-1] при подсчете с 0, который соответствует концу списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этап S2545 по фиг. 39), и процесс сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. С другой стороны, когда NumHmvpCand не 6 (этап S2541 по фиг. 39: "Нет"), новый элемент добавляется без удаления элемента, сохраненного в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Потенциально подходящий вариант hMvpCand информации интер-предсказания добавляется в (NumHmvpCand-1)-ый элемент HmvpCandList[numHmvpCand] при подсчете с 0, который соответствует концу списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, и NumHmvpCand постепенно увеличивается на 1 (этап S2546 по фиг. 39), и процесс сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается.First, it is determined whether or not a new element should be added after the element at the beginning stored in the HmvpCandList list of potentially suitable motion vector predictors based on history is removed, or whether or not a new element should be added without deleting the element. Specifically, a comparison is made as to whether NumHmvpCand is equal to 6 or not (step S2541 of FIG. 39). When NumHmvpCand is equal to 6 (step S2541 of FIG. 39: "Yes"), a new element is to be added after the element at the beginning stored in the HmvpCandList of potentially suitable history-based motion vector predictor candidates is removed. An initial value of index i is set to a value of 1. The elementwise shift process of step S2543 is iteratively performed from this initial value to NumHmvpCand (steps S2542 to S2544 of FIG. 39). By copying the elements of HmvpCandList[i] to HmvpCandList[i-1], the elements are shifted forward (step S2543 of FIG. 39) and i is gradually increased by 1 (steps S2542 and S2544 of FIG. 39). Then, the inter-prediction information candidate hMvpCand is added to the (NumHmvpCand-1)th element of HmvpCandList[NumHmvpCand-1] counting from 0, which corresponds to the end of the history-based motion vector predictor candidate candidate list (step S2545 of FIG. 39), and the process of shifting and adding an element of the list HmvpCandList of potentially suitable motion vector predictors based on the history is completed. On the other hand, when NumHmvpCand is not 6 (step S2541 of FIG. 39: No), a new element is added without deleting an element stored in the list HmvpCandList of potentially suitable motion vector predictors based on history. The inter prediction information potential candidate hMvpCand is added to the (NumHmvpCand-1)th element of HmvpCandList[numHmvpCand] when counting from 0, which corresponds to the end of the history-based motion vector predictor potential candidate list, and NumHmvpCand is gradually increased by 1 (step S2546 in Fig. 39), and the process of shifting and adding an element of the list HmvpCandList of potentially suitable variants of motion vector predictors based on the history is completed.

Посредством выполнения процесса, как показано на фиг. 39, можно опускать процесс проверки и удаления идентичного потенциально подходящего варианта и процесс настройки или сравнения переменных для выполнения процесса и уменьшать объем обработки.By executing the process as shown in FIG. 39, it is possible to omit the process of checking and deleting the identical potential candidate and the process of setting or comparing variables to perform the process and reduce the amount of processing.

[0171] Модифицированный пример (часть 3)[0171] Modified example (part 3)

В настоящем варианте осуществления, описан случай конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется, список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется со ссылкой в обратном порядке, который является обратным по отношению к порядку хранения, в котором новая информация движения добавляется с концевой стороны, и используется информация движения, которая представляет собой потенциально подходящий вариант предиктора вектора движения на основе предыстории, сохраненный в HmvpCandList ссылкой в порядке от самой старой информации движения до новой добавленной информации движения.In the present embodiment, a case of a configuration in which the identical candidate candidate deletion process is not performed is described, the history-based motion vector predictor candidate list HmvpCandList is used with reference in reverse order, which is the reverse of the storage order in which the new motion information is added from the end side, and motion information is used, which is a potentially suitable history-based motion vector predictor stored in HmvpCandList by reference in order from oldest motion information to newly added motion information.

В модифицированном примере первого варианта осуществления, приспосабливается конфигурация, в которой предоставляются прямой режим, в котором ссылка от новой добавленной информации движения на старую информацию движения выполняется в направлении, в котором опорный порядок является идентичным порядку хранения, в котором информация движения добавляется из конца, и обратный режим, в котором ссылка от самой старой информации движения на новую добавленную информацию движения выполняется в направлении, в котором опорный порядок является обратным по отношению к порядку хранения, в котором новая информация движения добавляется с концевой стороны, и режим переключается между прямым режимом и обратным режимом с использованием информации опорного флага на основе предыстории для переключения опорного порядка списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Опорный флаг на основе предыстории в информации опорного флага на основе предыстории включается в синтаксический элемент потока битов и передается в сторону декодирования, и сторона декодирования выполнена с возможностью получать и декодировать поток битов, включающий в себя опорный флаг на основе предыстории, в синтаксический элемент.In a modified example of the first embodiment, a configuration is adopted in which a direct mode is provided in which the reference from the new added motion information to the old motion information is made in the direction in which the reference order is identical to the storage order in which the motion information is added from the end, and reverse mode in which reference from the oldest motion information to the newly added motion information is made in the direction in which the reference order is reversed with respect to the storage order in which new motion information is added from the end side, and the mode is switched between forward mode and reverse a mode using the history-based reference flag information to switch the reference order of the list HmvpCandList of potentially suitable history-based motion vector predictors. The history-based reference flag in the history-based reference flag information is included in the bitstream syntax element and transmitted to the decoding side, and the decoding side is configured to receive and decode the bitstream including the history-based reference flag into the syntax element.

[0172] Второй вариант осуществления[0172] Second Embodiment

В качестве второго варианта осуществления, приспосабливается следующая конфигурация, когда список mvpListLX потенциально подходящих вариантов предикторов векторов движения извлекается. В частности, приспосабливается конфигурация, в которой процесс определения того, включается или нет идентичный предиктор вектора движения в список потенциально подходящих вариантов предикторов векторов движения, не выполняется в процессе добавления потенциально подходящего варианта предиктора вектора движения из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории в список потенциально подходящих вариантов предикторов векторов движения с использованием списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории со ссылкой на информацию с начала в обратном порядке, который является обратным по отношению к порядку хранения, в котором информация добавляется заново с его конца, когда список mvpListLX потенциально подходящих вариантов предикторов векторов движения извлекается.As a second embodiment, the following configuration is adopted when the mvpListLX list of potentially suitable motion vector predictor options is retrieved. In particular, a configuration is adopted in which a process of determining whether or not an identical motion vector predictor is included in a motion vector predictor candidate candidate list is not performed in a process of adding a motion vector predictor candidate from a history-based motion vector predictor candidate candidate list. to a motion vector predictor candidate list using a history-based motion vector predictor candidate list HmvpCandList with reference to information from the beginning in reverse order, which is the reverse of the storage order in which information is added anew from its end when a list mvpListLX of potentially suitable motion vector predictor variants is retrieved.

[0173] В дальнейшем в этом документе описывается процесс извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории настоящего варианта осуществления.[0173] Hereinafter, this document describes a process for extracting potentially suitable motion vector predictor variants based on the history of the present embodiment.

[0174] Процесс извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, который не заключает в себе процесс удаления идентичных потенциально подходящих вариантов[0174] The process of extracting potentially candidate motion vector predictor candidates based on history, which does not involve the process of removing identical potential candidates

Здесь, в дальнейшем описывается процесс извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, который не заключает в себе процесс удаления идентичных потенциально подходящих вариантов.Hereinafter, a process for extracting potentially candidate motion vector predictor candidates based on history is described, which does not include a process for removing identical potential candidates.

[0175] Фиг. 47 является блок-схемой последовательности операций способа для описания процедуры обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории в случае конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется с использованием списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории со ссылкой в обратном порядке, который является обратным по отношению к порядку хранения, когда список mvpListLX потенциально подходящих вариантов предикторов векторов движения извлекается.[0175] FIG. 47 is a flowchart for describing a history-based motion vector predictor candidate extraction processing procedure in the case of a configuration in which the identical candidate candidate removal process is not performed using the history-based motion vector predictor potential candidate list HmvpCandList. by reference in reverse order, which is the reverse of the storage order when the mvpListLX list of potentially candidate motion vector predictors is retrieved.

[0176] Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно максимальному числу элементов (здесь, 2) в списке mvpListLX предикторов векторов движения, или значение числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равно 0 (этап S2601 по фиг. 47: "Нет"), обработка этапов S2602-S2609 по фиг. 47 опускается, и процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX предикторов векторов движения (этап S2601 по фиг. 47: "Да"), обработка этапов S2602-S2609 по фиг. 47 выполняется.[0176] When the current number numCurrMvpCand of potential candidate motion vector predictor candidates is greater than or equal to the maximum number of elements (here, 2) in the motion vector predictor list mvpListLX, or the value of the number NumHmvpCand of potential candidate motion vector predictor candidates based on history is 0 (step S2601 of Fig. 47: "No"), the processing of steps S2602-S2609 in Fig. 47 is omitted, and the history-based motion vector predictor candidate extraction process is terminated. When the current number numCurrMvpCand of potentially suitable motion vector predictor candidates is less than 2, which is the maximum number of elements of the motion vector predictor list mvpListLX (step S2601 of FIG. 47: Yes), the processing of steps S2602 to S2609 of FIG. 47 is being implemented.

[0177] Затем, обработка этапов S2603-S2608 по фиг. 47 итеративно выполняется до тех пор, пока индекс i не изменяется с 0 до значения, полученного посредством вычитания 1 из меньшего значения из 4 и числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этапы S2602-S2609 на фиг. 47). Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения больше или равно 2, что представляет собой максимальное число элементов списка mvpListLX предикторов векторов движения (этап S2603 по фиг. 47: "Нет"), обработка этапа S2604-S2609 по фиг. 47 опускается, и процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2603 по фиг. 47: "Да"), обработка с этапа S2604 по фиг. 47 выполняется.[0177] Next, the processing of steps S2603-S2608 in FIG. 47 is iteratively executed until index i changes from 0 to the value obtained by subtracting 1 from the smaller value from 4 and the number NumHmvpCand of potentially suitable history-based motion vector predictor candidates (steps S2602-S2609 in FIG. 47). When the current number numCurrMvpCand of potentially suitable motion vector predictor candidates is greater than or equal to 2, which is the maximum number of elements of the motion vector predictor list mvpListLX (step S2603 of FIG. 47: "No"), the processing of step S2604-S2609 of FIG. 47 is omitted, and the history-based motion vector predictor candidate extraction process is terminated. When the current number of candidate motion vector predictor candidates numCurrMvpCand is less than 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX (step S2603 of FIG. 47: "Yes"), the processing from step S2604 of FIG. 47 is being implemented.

[0178] Затем, обработка этапов S2605-S2607 выполняется относительно индекса Y, который равен 0 и 1 (L0 и L1) (этапы S2604-S2608 по фиг. 47). Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно 2, что представляет собой максимальное число элементов списка mvpListLX предикторов векторов движения (этап S2605 по фиг. 47: "Нет"), обработка этапа S2606-S2609 по фиг. 47 опускается, и процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX предикторов векторов движения (этап S2605 по фиг. 47: "Да"), обработка с этапа S2606 по фиг. 47 выполняется.[0178] Next, the processing of steps S2605-S2607 is performed with respect to the Y index, which is 0 and 1 (L0 and L1) (steps S2604-S2608 of FIG. 47). When the current number numCurrMvpCand of potentially suitable motion vector predictor options is greater than or equal to 2, which is the maximum number of elements of the motion vector predictor list mvpListLX (step S2605 of FIG. 47: "No"), the processing of step S2606-S2609 of FIG. 47 is omitted, and the history-based motion vector predictor candidate extraction process is terminated. When the current number numCurrMvpCand of potentially suitable motion vector predictor candidates is less than 2, which is the maximum number of elements of the motion vector predictor list mvpListLX (step S2605 of FIG. 47: Yes), the processing from step S2606 of FIG. 47 is being implemented.

[0179] Затем, когда элемент опорного индекса LY в списке HmvpCandList[i] потенциально подходящих вариантов предикторов векторов движения на основе предыстории представляет собой элемент опорного индекса, который является идентичным опорному индексу refIdxLX вектора движения цели кодирования/декодирования (этап S2606 по фиг. 47: "Да"), вектор движения LY потенциально подходящего варианта HmvpCandList[i] предиктора вектора движения на основе предыстории добавляется в numCurrMvpCand-ый элемент mvpListLX[numCurrMvpCand] при подсчете с 0 для списка потенциально подходящих вариантов предикторов векторов движения (этап S2607 на фиг. 47), и текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения постепенно увеличивается на 1. Когда элемент опорного индекса LY в списке HmvpCandList[i] потенциально подходящих вариантов предикторов векторов движения на основе предыстории не представляет собой элемент опорного индекса, который является идентичным опорному индексу refIdxLX вектора движения цели кодирования/декодирования (этап S2606 по фиг. 47: "Нет"), процесс добавления этапа S2607 пропускается.[0179] Then, when the reference index entry LY in the history-based motion vector predictor candidate list HmvpCandList[i] is a reference index entry that is identical to the encoding/decoding target motion vector reference index refIdxLX (step S2606 of FIG. 47 : "Yes"), the motion vector LY of the motion vector predictor candidate candidate HmvpCandList[i] based on the history is added to the numCurrMvpCand th element of mvpListLX[numCurrMvpCand] when counted from 0 for the motion vector predictor candidate candidate list (step S2607 in FIG. 47), and the current number numCurrMvpCand of candidate motion vector predictor candidates is incremented by 1. When the reference index entry LY in the history-based motion vector predictor candidate list HmvpCandList[i] is not a reference index entry that is identical to the reference index su refIdxLX of the motion vector of the encoding/decoding target (step S2606 of FIG. 47: "No"), the addition process of step S2607 is skipped.

[0180] Вышеуказанная обработка этапов S2605-S2607 по фиг. 47 выполняется в L0 и L1 (этапы S2604-S2608 по фиг. 47).[0180] The above processing of steps S2605-S2607 in FIG. 47 is executed in L0 and L1 (steps S2604-S2608 in FIG. 47).

[0181] Когда индекс i постепенно увеличивается на 1 (этапы S2602 и S2609 по фиг. 47), и индекс i меньше или равен значению, полученному посредством вычитания 1 из меньшего значения из 4 и числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории, обработка с этапа S2603 выполняется снова (этапы S2602-S2609 по фиг. 47).[0181] When index i is gradually increased by 1 (steps S2602 and S2609 of FIG. 47), and index i is less than or equal to the value obtained by subtracting 1 from the smaller value from 4 and the number NumHmvpCand of potentially suitable motion vector predictor cases based on the history , the processing from step S2603 is performed again (steps S2602 to S2609 in FIG. 47).

Можно опускать процесс проверки и удаления идентичного потенциально подходящего варианта и процесс настройки или сравнения переменных для выполнения процесса и сокращать объем обработки за счет предотвращения выполнения процесса удаления идентичных потенциально подходящих вариантов в процессе выполнения добавления из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории в список потенциально подходящих вариантов предикторов векторов движения посредством выполнения процесса извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, как описано выше.It is possible to omit the process of checking and deleting an identical candidate and the process of setting or comparing variables to execute the process, and reduce the amount of processing by preventing the process of deleting identical candidates in the process of adding from the list of potential candidates of history-based motion vector predictors to the list. motion vector predictor candidate candidates by performing a history-based motion vector predictor candidate candidate extraction process as described above.

Кроме того, можно добавлять различные типы информации движения в список потенциально подходящих вариантов предикторов векторов движения посредством обеспечения возможности ссылки на информацию движения, которая представляет собой потенциально подходящий вариант предиктора вектора движения на основе предыстории, сохраненный в HmvpCandList, в порядке от самой старой информации движения до новой добавленной информации движения.In addition, it is possible to add various types of motion information to the list of motion vector predictor candidates by enabling reference to motion information that is a history-based motion vector predictor candidate stored in the HmvpCandList in order from oldest motion information to new added traffic information.

Кроме того, даже если процесс удаления идентичных потенциально подходящих вариантов не выполняется относительно списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории в процессе выполнения добавления из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории в список потенциально подходящих вариантов предикторов векторов движения, можно уменьшать вероятность того, что идентичный потенциально подходящий вариант должен добавляться в список потенциально подходящих вариантов предикторов векторов движения посредством ссылки на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения.In addition, even if the process of deleting identical candidates is not performed on the history-based motion vector predictor candidate list, in the process of performing adding from the history-based motion vector predictor candidates list to the motion vector predictor candidate list, it is possible to reduce a probability that an identical candidate is to be added to a list of motion vector predictor candidates by referring to motion information in order from oldest motion information to newly added motion information.

[0182] Модифицированный пример (часть 1)[0182] Modified example (part 1)

Во втором варианте осуществления, описан случай конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется с использованием списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории со ссылкой с начала в обратном порядке, который является обратным по отношению к порядку хранения, в котором информация добавляется заново с конца, когда список mvpListLX потенциально подходящих вариантов предикторов векторов движения извлекается.In the second embodiment, a case of a configuration is described in which the identical candidate candidate removal process is not performed using the history-based motion vector predictor candidate list HmvpCandList with reference from the beginning in reverse order, which is the reverse of the storage order, in in which the information is re-added from the end when the mvpListLX list of potentially eligible motion vector predictors is retrieved.

В модифицированном примере второго варианта осуществления, как показано ниже, приспосабливается конфигурация, в которой процесс удаления идентичных потенциально подходящих вариантов выполняется как есть, так что ссылка от самой старой информации движения на новую добавленную информацию движения выполняется посредством ссылки на информацию движения с начала в обратном порядке, который является обратным по отношению к порядку хранения, в котором информация движения добавляется заново с конца только относительно опорного порядка списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории.In the modified example of the second embodiment, as shown below, a configuration is adopted in which the process of deleting identical potential candidates is performed as is, so that the reference from the oldest motion information to the newly added motion information is performed by referring to the motion information from the beginning in reverse order. , which is the reverse of the storage order, in which motion information is re-added from the end only with respect to the reference order of the list HmvpCandList of potentially suitable motion vector predictors based on history.

[0183] Фиг. 48 является блок-схемой последовательности операций способа для описания процедуры обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории в случае конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется с использованием списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории со ссылкой в обратном порядке, который является обратным по отношению к порядку хранения.[0183] FIG. 48 is a flowchart for describing a history-based motion vector predictor candidate extraction processing procedure in the case of a configuration in which the identical candidate candidate removal process is not performed using the history-based motion vector predictor potential candidate list HmvpCandList. reference in reverse order, which is the reverse of the storage order.

[0184] Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения больше или равно максимальному числу элементов (здесь, 2) в списке mvpListLX предикторов векторов движения, или значение числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равно 0 (этап S2801 по фиг. 48: "Нет"), обработка этапов S2802-S2809 по фиг. 48 опускается, и процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX предикторов векторов движения (этап S2801 по фиг. 48: "Да"), обработка этапов S2802-S2809 по фиг. 48 выполняется.[0184] When the current number numCurrMvpCand of potential candidate motion vector predictor candidates is greater than or equal to the maximum number of elements (here, 2) in the motion vector predictor list mvpListLX, or the value of the number NumHmvpCand of potential candidate motion vector predictor candidates based on history is 0 (step S2801 to Fig. 48: "No"), the processing of steps S2802-S2809 in Fig. 48 is omitted, and the history-based motion vector predictor candidate extraction process is terminated. When the current number numCurrMvpCand of potentially suitable motion vector predictor candidates is less than 2, which is the maximum number of elements of the motion vector predictor list mvpListLX (step S2801 of FIG. 48: Yes), the processing of steps S2802 to S2809 of FIG. 48 is being implemented.

[0185] Затем, обработка этапов S2803-S2808 по фиг. 48 итеративно выполняется до тех пор, пока индекс i не изменяется с 0 до значения, полученного посредством вычитания 1 из меньшего значения из 4 и числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этапы S2802-S2809 на фиг. 48). Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2803 по фиг. 48: "Нет"), обработка этапа S2804-S2809 по фиг. 48 опускается, и процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX предикторов векторов движения (этап S2803 по фиг. 48: "Да"), обработка с этапа S2804 по фиг. 48 выполняется.[0185] Next, the processing of steps S2803-S2808 in FIG. 48 is iteratively executed until index i changes from 0 to the value obtained by subtracting 1 from the smaller value from 4 and the number NumHmvpCand of potentially suitable history-based motion vector predictor candidates (steps S2802-S2809 in FIG. 48). When the current number of candidate motion vector predictor candidates numCurrMvpCand is greater than or equal to 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX (step S2803 of FIG. 48: "No"), the processing of steps S2804-S2809 of FIG. 48 is omitted, and the history-based motion vector predictor candidate extraction process is terminated. When the current number numCurrMvpCand of potentially suitable motion vector predictor candidates is less than 2, which is the maximum number of elements of the motion vector predictor list mvpListLX (step S2803 of FIG. 48: Yes), the processing from step S2804 of FIG. 48 is being implemented.

[0186] Затем, обработка этапов S2805-S2807 выполняется относительно индекса Y, который равен 0 и 1 (L0 и L1) (этапы S2804-S2808 по фиг. 48). Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2805 по фиг. 48: "Нет"), обработка этапа S2806-S2809 по фиг. 48 опускается, и процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное число элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2805 по фиг. 48: "Да"), обработка с этапа S2806 по фиг. 48 выполняется.[0186] Next, the processing of steps S2805-S2807 is performed with respect to the Y index, which is 0 and 1 (L0 and L1) (steps S2804-S2808 of FIG. 48). When the current number of candidate motion vector predictor candidates numCurrMvpCand is greater than or equal to 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX (step S2805 of FIG. 48: "No"), the processing of steps S2806-S2809 of FIG. 48 is omitted, and the history-based motion vector predictor candidate extraction process is terminated. When the current number of candidate motion vector predictor candidates numCurrMvpCand is less than 2, which is the maximum number of elements of the candidate motion vector predictor candidate list mvpListLX (step S2805 of FIG. 48: "Yes"), the processing from step S2806 of FIG. 48 is being implemented.

[0187] Затем, когда элемент опорного индекса LY списка HmvpCandList[i] потенциально подходящих вариантов предикторов векторов движения на основе предыстории представляет собой элемент, который имеет опорный индекс, идентичный опорному индексу refIdxLX вектора движения цели кодирования/декодирования, и который отличается от любого элемента индекса mvpListLX предиктора вектора движения (этап S2806 по фиг. 48: "Да"), вектор движения LY потенциально подходящего варианта HmvpCandList[i] предиктора вектора движения на основе предыстории добавляется в numCurrMvpCand-ый элемент mvpListLX[numCurrMvpCand] при подсчете с 0 для списка потенциально подходящих вариантов предикторов векторов движения (этап S2807 по фиг. 48), и текущее число numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения постепенно увеличивается на 1. Когда элемент опорного индекса LY списка HmvpCandList[i] потенциально подходящих вариантов предикторов векторов движения на основе предыстории не представляет собой элемент, который имеет опорный индекс, идентичный опорному индексу refIdxLX вектора движения цели кодирования/декодирования, и который отличается от любого элемента индекса mvpListLX предиктора вектора движения (этап S2806 по фиг. 48: "Нет"), процесс добавления этапа S2807 пропускается.[0187] Then, when the reference index LY element of the list HmvpCandList[i] of potentially suitable history-based motion vector predictors is an element that has a reference index that is identical to the encoding/decoding target motion vector reference index refIdxLX, and that is different from any element of the motion vector predictor index mvpListLX (step S2806 of FIG. 48: "Yes"), the motion vector LY of the historically applicable motion vector predictor candidate HmvpCandList[i] is added to the numCurrMvpCand th element of mvpListLX[numCurrMvpCand] when counted from 0 for the list of potential candidate motion vector predictor candidates (step S2807 of FIG. 48), and the current number of potential candidate motion vector predictor candidates numCurrMvpCand is gradually increased by 1. represented is an element that has a reference index identical to the encoding/decoding target motion vector reference index refIdxLX, and which is different from any element of the motion vector predictor index mvpListLX (step S2806 of FIG. 48: "No"), the addition process of step S2807 is skipped.

[0188] Вышеуказанная обработка этапов S2805-S2807 по фиг. 48 выполняется в L0 и L1 (этапы S2804-S2808 по фиг. 48).[0188] The above processing of steps S2805-S2807 in FIG. 48 is executed in L0 and L1 (steps S2804-S2808 in FIG. 48).

[0189] Когда индекс i постепенно увеличивается на 1, и индекс i меньше или равен значению, полученному посредством вычитания 1 из меньшего значения из 4 и числа NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории, обработка с этапа S2803 выполняется снова (этапы S2802-S2809 по фиг. 48).[0189] When the index i is gradually increased by 1 and the index i is less than or equal to the value obtained by subtracting 1 from the smaller value from 4 and the number NumHmvpCand of potentially suitable history-based motion vector predictor cases, the processing from step S2803 is performed again (steps S2802 -S2809 of Fig. 48).

Процесс удаления идентичных потенциально подходящих вариантов выполнен с возможностью выполняться как есть посредством выполнения процесса извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, как описано выше, и обеспечивается возможность ссылаться на информацию движения, которая представляет собой потенциально подходящий вариант предиктора вектора движения на основе предыстории, сохраненный в HmvpCandList, в порядке от самой старой информации движения до новой добавленной информации движения, так что можно добавлять больше различных типов информации движения в список потенциально подходящих вариантов предикторов векторов движения.The identical candidate candidate removal process is configured to be performed as is by performing the history-based motion vector predictor potential candidate extraction process as described above, and being able to refer to motion information that is the history-based motion vector predictor candidate candidate. stored in HmvpCandList, in order from oldest motion information to newly added motion information, so that more different types of motion information can be added to the list of potentially suitable motion vector predictor candidates.

[0190] Модифицированный пример (часть 2)[0190] Modified example (part 2)

В качестве модифицированного примера второго варианта осуществления, когда список mvpListLX потенциально подходящих вариантов предикторов векторов движения извлекается, конфигурируется процедура обработки сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории на этапе S2406 по фиг. 38, как показано на фиг. 39. Поскольку описание фиг. 39 является аналогичным вышеприведенному описанию, описание фиг. 39 опускается.As a modified example of the second embodiment, when the motion vector predictor candidate candidate list mvpListLX is retrieved, the procedure for processing shift and adding the history-based motion vector predictor candidate candidate list HmvpCandList is configured in step S2406 of FIG. 38 as shown in FIG. 39. Since the description of FIG. 39 is similar to the above description, the description of FIG. 39 is dropped.

Посредством выполнения процесса, как показано на фиг. 39, можно опускать процесс проверки и удаления идентичного потенциально подходящего варианта и процесс настройки или сравнения переменных для выполнения процесса и уменьшать объем обработки.By executing the process as shown in FIG. 39, it is possible to omit the process of checking and deleting the identical potential candidate and the process of setting or comparing variables to perform the process and reduce the amount of processing.

[0191] Модифицированный пример (часть 3)[0191] Modified example (part 3)

Во втором варианте осуществления, описан случай конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется, список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется со ссылкой в обратном порядке, который является обратным по отношению к порядку хранения, в котором новая информация движения добавляется с концевой стороны, когда список mvpListLX потенциально подходящих вариантов предикторов векторов движения извлекается, и используется информация движения, которая представляет собой потенциально подходящий вариант предиктора вектора движения на основе предыстории, сохраненный в HmvpCandList ссылкой в порядке от самой старой информации движения до новой добавленной информации движения. В модифицированном примере второго варианта осуществления приспосабливается конфигурация, в которой предоставляются прямой режим, в котором ссылка от новой добавленной информации движения на старую информацию движения выполняется в направлении, в котором опорный порядок является идентичным порядку хранения, в котором информация движения добавляется из конца, и обратный режим, в котором ссылка от самой старой информации движения на новую добавленную информацию движения выполняется в направлении, в котором опорный порядок является обратным по отношению к порядку хранения, в котором новая информация движения добавляется с концевой стороны, и режим переключается между прямым режимом и обратным режимом с использованием информации опорного флага на основе предыстории для переключения опорного порядка списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Опорный флаг на основе предыстории в информации опорного флага на основе предыстории включается в синтаксический элемент потока битов и передается в сторону декодирования, и сторона декодирования выполнена с возможностью получать и декодировать поток битов, включающий в себя опорный флаг на основе предыстории, в синтаксический элемент.In the second embodiment, a case of a configuration in which a process of deleting identical candidates is not performed is described, a history-based motion vector predictor candidate list HmvpCandList is used with reference in reverse order, which is the reverse of the storage order in which the new motion information is added at the end side when the mvpListLX list of potentially candidate motion vector predictor candidates is retrieved, and motion information is used that is a historical motion vector predictor candidate stored in the HmvpCandList by reference in order from oldest motion information to newest added motion information. In a modified example of the second embodiment, a configuration is adopted in which a direct mode is provided in which the reference from the new added motion information to the old motion information is made in the direction in which the reference order is identical to the storage order in which the motion information is added from the end, and the reverse a mode in which reference from the oldest motion information to the newly added motion information is made in the direction in which the reference order is reverse of the storage order in which new motion information is added from the end side, and the mode is switched between forward mode and reverse mode using the history-based reference flag information to switch the reference order of the list HmvpCandList of potentially suitable history-based motion vector predictors. The history-based reference flag in the history-based reference flag information is included in the bitstream syntax element and transmitted to the decoding side, and the decoding side is configured to receive and decode the bitstream including the history-based reference flag into the syntax element.

[0192] Третий вариант осуществления[0192] Third embodiment

В качестве третьего варианта осуществления, приспосабливается следующая конфигурация, когда список потенциально подходящих вариантов объединения извлекается. В частности, опорный порядок, когда список потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется, изменяется таким образом, что список потенциально подходящих вариантов предикторов векторов движения на основе предыстории используется со ссылкой в порядке от самой старой информации движения до новой добавленной информации движения. Кроме того, когда новый элемент добавляется в список потенциально подходящих вариантов объединения, изменение вносится таким образом, что процесс извлечения элемента, имеющего идентичную информацию, из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории и удаления элемента не выполняется. Дополнительно, в режиме нормального объединения, когда потенциально подходящий вариант нормального объединения извлекается с использованием списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, изменение вносится таким образом, что процесс извлечения элемента, имеющего идентичную информацию, из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, и предотвращения задания элемента, имеющего идентичную информацию, в качестве потенциально подходящего варианта нормального объединения не выполняется.As a third embodiment, the following configuration is adapted when a list of potentially suitable join options is retrieved. In particular, the reference order, when the history-based motion vector predictor candidate list of potential candidates is used, is changed such that the history-based motion vector predictor candidate list is used with reference in order from the oldest motion information to the newly added motion information. In addition, when a new element is added to the list of candidate joins, the change is made such that the process of extracting an element having identical information from the list of potential candidates of motion vector predictors based on history and deleting the element is not performed. Further, in the normal join mode, when a candidate normal join is retrieved using the history-based motion vector predictor candidate list HmvpCandList, a change is made such that the process of extracting an element having identical information from the list of motion vector predictor candidates potentially based on history, and preventing an element having identical information from being set as a potential candidate for a normal join is not performed.

Процесс извлечения потенциально подходящих вариантов объединения на основе предыстории, который не заключает в себе процесс удаления идентичных потенциально подходящих вариантовThe process of extracting potentially matching candidates based on history, which does not involve the process of removing identical candidates

Здесь, в дальнейшем описывается процесс извлечения потенциально подходящих вариантов объединения на основе предыстории, который не заключает в себе идентичный процесс удаления потенциально подходящего варианта.Hereinafter, a process for extracting potentially suitable merges based on history is described, which does not include an identical process for deleting a potentially suitable variant.

Фиг. 40 является блок-схемой последовательности операций способа для описания процедуры обработки извлечения потенциально подходящих вариантов объединения на основе предыстории в случае конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется с использованием списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории со ссылкой на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения.Fig. 40 is a flowchart for describing a history-based merge candidate extraction processing procedure in the case of a configuration in which the process of deleting identical candidates is not performed using the history-based motion vector predictor candidate list HmvpCandList with reference to motion information in order from the oldest motion information to the newly added motion information.

Во-первых, процесс инициализации выполняется (этап S2701 по фиг. 40). Число numCurrMergeCand элементов, зарегистрированных в текущем списке потенциально подходящих вариантов объединения, задается в качестве переменной numOrigMergeCand.First, an initialization process is performed (step S2701 of FIG. 40). The number numCurrMergeCand of elements registered in the current merge candidate list is given as the numOrigMergeCand variable.

Начальное значение индекса hMvpIdx задается равным 0, и процесс добавления этапов S2703-S2710 по фиг. 40 итеративно выполняется с этого начального значения до NuMHmvpCand-1 (этапы S2702-S2711 по фиг. 40). Если число numCurrMergeCand элементов, зарегистрированных в текущем списке потенциально подходящих вариантов объединения, не меньше или равно (максимальное число MaxNumMergeCand потенциально подходящих вариантов объединения - 1), потенциально подходящие варианты объединения добавляются во все элементы списка потенциально подходящих вариантов объединения, так что текущий процесс извлечения потенциально подходящих вариантов объединения на основе предыстории завершается ("Нет" на этапе S2703 по фиг. 40). "Нет"). Когда число numCurrMergeCand элементов, зарегистрированных в текущем списке потенциально подходящих вариантов объединения, меньше или равно (максимальное число MaxNumMergeCand потенциально подходящих вариантов объединения - 1), обработка с этапа S2710 выполняется (этап S2703 по фиг. 40: "Да"). HMvpIdx-ый элемент HmvpCandList[hMvpIdx] списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории добавляется в numCurrMergeCand-ый элемент mergeCandList[numCurrMergeCand] списка потенциально подходящих вариантов объединения, и numCurrMergeCand постепенно увеличивается на 1 (этап S2710 по фиг. 40). Индекс hMvpIdx постепенно увеличивается на 1 (этап S2702 по фиг. 40), и итеративная обработка этапов S2702-S2711 по фиг. 40 выполняется.The hMvpIdx index initial value is set to 0, and the addition process of steps S2703 to S2710 in FIG. 40 is iteratively executed from this start value to NuMHmvpCand-1 (steps S2702-S2711 in FIG. 40). If the number of numCurrMergeCand elements registered in the current merge candidate list is not less than or equal to (MaxNumMergeCand maximum merge candidate list is 1), candidate merges are added to all elements of the merge candidate list, so that the current retrieval process is potentially matching options based on the history is completed ("No" at step S2703 of Fig. 40). "Not"). When the number numCurrMergeCand of the elements registered in the current merge candidate list is less than or equal (the maximum number of potential merge candidates MaxNumMergeCand is 1), the processing from step S2710 is executed (step S2703 of FIG. 40: Yes). The HMvpIdx th element HmvpCandList[hMvpIdx] of the list of potentially suitable motion vector predictors based on history is added to the numCurrMergeCand th element of mergeCandList[numCurrMergeCand] of the list of potentially suitable merge candidates, and numCurrMergeCand is incremented by 1 (step S2710 of FIG. 40). The hMvpIdx index is gradually increased by 1 (step S2702 of FIG. 40), and the iterative processing of steps S2702 to S2711 of FIG. 40 is being implemented.

Когда подтверждение всех элементов списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается, или потенциально подходящие варианты объединения добавляются во все элементы списка потенциально подходящих вариантов объединения, текущий процесс извлечения потенциально подходящих вариантов объединения на основе предыстории завершается.When the confirmation of all elements of the history-based potential motion vector predictor candidate list is completed, or the candidate joins are added to all elements of the candidate join list, the current history-based matching candidate extraction process is terminated.

Предотвращается выполнение процесса удаления идентичных потенциально подходящих вариантов в процессе выполнения добавления из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории в список потенциально подходящих вариантов объединения посредством выполнения процесса извлечения потенциально подходящих вариантов объединения на основе предыстории, как описано выше, так что можно опускать процесс проверки и удаления идентичного потенциально подходящего варианта и процесс настройки или сравнения переменных для выполнения процесса и уменьшать объем обработки.It is prevented from performing the process of deleting identical candidates in the process of performing addition from the history-based motion vector predictor candidates candidate list to the pooling candidate list by performing the history-based pooling potential candidates extraction process as described above, so that the process can be omitted. checking and removing an identical potentially suitable option; and the process of setting or comparing variables to perform the process and reduce the amount of processing.

Кроме того, можно добавлять различные типы информации движения в список потенциально подходящих вариантов объединения посредством обеспечения возможности ссылки на информацию движения, которая представляет собой потенциально подходящий вариант предиктора вектора движения на основе предыстории, сохраненный в HmvpCandList, в порядке от самой старой информации движения до новой добавленной информации движения.In addition, it is possible to add various types of motion information to a list of potentially matching merges by allowing reference to motion information that is a history-based motion vector predictor candidate stored in HmvpCandList in order from oldest motion information to newest added. motion information.

Кроме того, даже если процесс удаления идентичных потенциально подходящих вариантов не выполняется относительно списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории в процессе выполнения добавления из списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории в список потенциально подходящих вариантов объединения, можно уменьшать вероятность того, что идентичный потенциально подходящий вариант должен добавляться в список потенциально подходящих вариантов объединения, посредством ссылки на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения.In addition, even if the process of deleting identical candidates is not performed on the history-based motion vector predictor candidate candidate list in the process of performing adding from the history-based motion vector predictor candidate candidate list to the pooling candidate list, it is possible to reduce the probability that that the identical candidate candidate should be added to the list of candidate joins by referring to the motion information in order from the oldest motion information to the newest added motion information.

[0193] Модифицированный пример (часть 1)[0193] Modified example (part 1)

В качестве модифицированного примера третьего варианта осуществления, приспосабливается конфигурация, в которой процесс удаления идентичных потенциально подходящих вариантов, когда элемент добавляется в список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, как показано на фиг. 38, не выполняется, когда список потенциально подходящих вариантов объединения извлекается. Поскольку описание фиг. 38 является аналогичным вышеприведенному описанию, описание фиг. 38 опускается.As a modified example of the third embodiment, a configuration is adopted in which the process of deleting identical candidates when an item is added to the HmvpCandList list of potential candidates of motion vector predictors based on history, as shown in FIG. 38 is not executed when a list of potentially matching merge options is retrieved. Since the description of FIG. 38 is similar to the above description, the description of FIG. 38 is dropped.

Посредством выполнения процесса, как показано на фиг. 38, можно опускать процесс проверки и удаления идентичного потенциально подходящего варианта и процесс настройки или сравнения переменных для выполнения процесса и уменьшать объем обработки.By executing the process as shown in FIG. 38, it is possible to omit the process of checking and removing the identical candidate and the process of setting or comparing variables to perform the process and reduce the amount of processing.

Кроме того, даже если процесс удаления идентичных потенциально подходящих вариантов не выполняется относительно списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, когда элемент должен добавляться в список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, можно уменьшать вероятность того, что идентичный потенциально подходящий вариант должен добавляться в список потенциально подходящих вариантов объединения, посредством обеспечения возможности ссылки на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения.In addition, even if the process of removing identical potential candidates is not performed on the history-based motion vector predictor potential candidate list, when an element is to be added to the history-based motion vector predictor candidate list HmvpCandList, it is possible to reduce the probability that the identical potential the candidate must be added to the list of potentially candidate merges by allowing the motion information to be referenced in order from the oldest motion information to the newly added motion information.

[0194] Модифицированный пример (часть 2)[0194] Modified example (part 2)

В качестве модифицированного примера третьего варианта осуществления, конфигурируется процедура обработки сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории этапа S2406 по фиг. 38, когда список потенциально подходящих вариантов объединения извлекается, как показано на фиг. 39. Поскольку описание фиг. 39 является аналогичным вышеприведенному описанию, описание фиг. 39 опускается.As a modified example of the third embodiment, a procedure for processing the shift and adding the list item HmvpCandList of potentially suitable motion vector predictor options based on the history of step S2406 of FIG. 38 when a list of potentially suitable joins is retrieved as shown in FIG. 39. Since the description of FIG. 39 is similar to the above description, the description of FIG. 39 is dropped.

Посредством выполнения процесса, как показано на фиг. 39, можно опускать процесс проверки и удаления идентичного потенциально подходящего варианта и процесс настройки или сравнения переменных для выполнения процесса и уменьшать объем обработки.By executing the process as shown in FIG. 39, it is possible to omit the process of checking and deleting the identical potential candidate and the process of setting or comparing variables to perform the process and reduce the amount of processing.

[0195] Модифицированный пример (часть 3)[0195] Modified example (part 3)

В третьем варианте осуществления, описан случай конфигурации, в которой процесс удаления идентичных потенциально подходящих вариантов не выполняется с использованием информации движения, которая представляет собой потенциально подходящий вариант предиктора вектора движения на основе предыстории, сохраненный в HmvpCandList, со ссылкой на информацию движения в порядке от самой старой информации движения до новой добавленной информации движения, когда список потенциально подходящих вариантов объединения извлекается.In the third embodiment, a configuration case is described in which the identical candidate removal process is not performed using motion information that is a history-based motion vector predictor candidate stored in the HmvpCandList, with reference to the motion information in order from the most old motion information to new added motion information when a list of potentially suitable joins is retrieved.

В модифицированном примере третьего варианта осуществления, приспосабливается конфигурация, в которой предоставляются прямой режим, в котором ссылка от новой добавленной информации движения на старую информацию движения выполняется, и обратный режим, в котором ссылка от самой старой информации движения на новую добавленную информацию движения выполняется, и режим переключается между прямым режимом и обратным режимом с использованием информации опорного флага на основе предыстории для переключения опорного порядка списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Опорный флаг на основе предыстории в информации опорного флага на основе предыстории включается в синтаксический элемент потока битов и передается в сторону декодирования, и сторона декодирования выполнена с возможностью получать и декодировать поток битов, включающий в себя опорный флаг на основе предыстории, в синтаксический элемент.In the modified example of the third embodiment, a configuration is adopted in which a forward mode in which a link from the new added motion information to the old motion information is made and a reverse mode in which a link from the oldest motion information to the new added motion information is provided are provided, and the mode is switched between the direct mode and the reverse mode using the history-based reference flag information to switch the reference order of the history-based list of potentially suitable motion vector predictors HmvpCandList. The history-based reference flag in the history-based reference flag information is included in the bitstream syntax element and transmitted to the decoding side, and the decoding side is configured to receive and decode the bitstream including the history-based reference flag into the syntax element.

[0196] Два или более из всех вариантов осуществления, описанных выше, могут комбинироваться.[0196] Two or more of all the embodiments described above may be combined.

[0197] Во всех вариантах осуществления, описанных выше, поток битов, выводимый посредством устройства кодирования кадров, имеет конкретный формат данных таким образом, что поток битов может декодироваться в соответствии со способом кодирования, используемым в варианте осуществления. Кроме того, устройство декодирования кадров, соответствующее устройству кодирования кадров, может декодировать поток битов конкретного формата данных.[0197] In all the embodiments described above, the bitstream output by the frame encoder has a specific data format such that the bitstream can be decoded according to the encoding method used in the embodiment. In addition, the frame decoding device corresponding to the frame encoding device can decode a bit stream of a specific data format.

[0198] Когда проводная или беспроводная сеть используется для того, чтобы обмениваться потоком битов между устройством кодирования кадров и устройством декодирования кадров, поток битов может преобразовываться в формат данных, подходящий для формы передачи тракта связи, и передаваться. В этом случае, предоставляются передающее устройство для преобразования потока битов, выводимого из устройства кодирования кадров, в кодированные данные формата данных, подходящего для формы передачи тракта связи, и передачи кодированных данных в сеть, и приемное устройство для приема кодированных данных из сети, восстановления кодированных данных в поток битов и предоставления потока битов в устройство декодирования кадров. Передающее устройство включает в себя запоминающее устройство, которое буферизует поток битов, выводимый посредством устройства кодирования кадров, модуль обработки пакетов, который пакетизирует поток битов, и передающий модуль, который передает пакетизированные кодированные данные через сеть. Приемное устройство включает в себя приемный модуль, который принимает пакетизированные кодированные данные через сеть, запоминающее устройство, которое буферизует принимаемые кодированные данные, и модуль обработки пакетов, который формирует поток битов посредством выполнения обработки пакетов для кодированных данных и предоставляет поток битов в устройство декодирования кадров.[0198] When a wired or wireless network is used to exchange a bit stream between a frame encoder and a frame decoder, the bit stream can be converted to a data format suitable for the transmission form of the communication path and transmitted. In this case, a transmission device is provided for converting the bit stream output from the frame encoding device into coded data of a data format suitable for the transmission form of the communication path, and transmitting the coded data to the network, and a receiver for receiving the coded data from the network, recovering the coded data into a bitstream and providing the bitstream to a frame decoder. The transmission device includes a memory that buffers a bit stream output by the frame encoder, a packet processing module that packetizes the bit stream, and a transmission module that transmits packetized encoded data via a network. The receiving device includes a receiving module that receives packetized coded data via a network, a storage device that buffers the received coded data, and a packet processing module that generates a bit stream by performing packet processing on the coded data and provides the bit stream to a frame decoding device.

[0199] Кроме того, устройство отображения может предоставляться посредством добавления модуля отображения, который отображает кадр, декодированный посредством устройства декодирования кадров, в конфигурацию. В этом случае, модуль отображения считывает декодированный сигнал кадров, сформированный посредством модуля 207 наложения сигналов кадров для декодирования и сохраненный в запоминающем устройстве 208 декодированных кадров, и отображает декодированный сигнал кадров на экране.[0199] In addition, a display device can be provided by adding a display module that displays a frame decoded by the frame decoding device to a configuration. In this case, the display unit reads the decoded frame signal generated by the frame signal overlay unit 207 for decoding and stored in the decoded frame memory 208, and displays the decoded frame signal on a screen.

[0200] Кроме того, устройство формирования изображений может предоставляться посредством добавления модуля формирования изображений, который вводит захваченный кадр в устройство кодирования кадров, в конфигурацию. В этом случае, модуль формирования изображений вводит захваченный сигнал кадров в модуль 101 разбиения блоков.[0200] In addition, an imaging apparatus can be provided by adding an imaging module that inputs a captured frame to a frame encoding apparatus to a configuration. In this case, the imaging module inputs the captured frame signal to the block splitter 101 .

[0201] Фиг. 37 показывает пример аппаратной конфигурации устройства кодирования/декодирования согласно настоящему варианту осуществления. Устройство кодирования/декодирования включает в себя конфигурацию устройства кодирования кадров и устройства декодирования кадров согласно варианту осуществления настоящего изобретения. Связанное устройство 9000 кодирования/декодирования включает в себя CPU 9001, IC 9002 кодека, интерфейс 9003 ввода-вывода, запоминающее устройство 9004, накопитель 9005 на оптических дисках, сетевой интерфейс 9006 и видеоинтерфейс 9009, и соответствующие части соединяются посредством шины 9010.[0201] FIG. 37 shows an example of a hardware configuration of an encoder/decoder according to the present embodiment. The encoding/decoding apparatus includes a configuration of a frame encoding apparatus and a frame decoding apparatus according to an embodiment of the present invention. The associated encoding/decoding apparatus 9000 includes a CPU 9001, a codec IC 9002, an I/O interface 9003, a storage device 9004, an optical disc drive 9005, a network interface 9006, and a video interface 9009, and the respective parts are connected via a bus 9010.

[0202] Модуль 9007 кодирования кадров и модуль 9008 декодирования кадров типично реализуются в качестве IC 9002 кодека. Процесс кодирования кадров устройства кодирования кадров согласно варианту осуществления настоящего изобретения выполняется посредством модуля 9007 кодирования кадров, и процесс декодирования кадров в устройстве декодирования кадров согласно варианту осуществления настоящего изобретения выполняется посредством модуля 9008 декодирования кадров. Интерфейс 9003 ввода-вывода реализуется посредством, например, USB-интерфейса и соединяется с внешней клавиатурой 9104, мышью 9105 и т.п. CPU 9001 управляет устройством 9000 кодирования/декодирования таким образом, что требуемая пользователем операция выполняется на основе пользовательской операции, вводимой через интерфейс 9003 ввода-вывода. Пользовательские операции с использованием клавиатуры 9104, мыши 9105 и т.п. включают в себя выбор функции кодирования или декодирования, которая должна выполняться, задание качества кодирования, указание назначения ввода-вывода потока битов, указание назначения ввода-вывода кадра и т.п.[0202] Frame encoding module 9007 and frame decoding module 9008 are typically implemented as codec IC 9002. The frame encoding process of the frame encoding apparatus according to the embodiment of the present invention is performed by the frame encoding unit 9007, and the frame decoding process in the frame decoding apparatus according to the embodiment of the present invention is performed by the frame decoding unit 9008. The input/output interface 9003 is implemented by, for example, a USB interface and is connected to an external keyboard 9104, mouse 9105, and the like. The CPU 9001 controls the encoder/decoder 9000 such that the operation requested by the user is performed based on the user operation input via the I/O interface 9003. User operations using 9104 keyboard, 9105 mouse, etc. including selecting an encoding or decoding function to be performed, specifying an encoding quality, specifying an I/O destination of a bitstream, specifying an I/O destination of a frame, and the like.

[0203] Когда пользователю требуется операция воспроизведения кадра, записанного на дисковом носителе 9100 записи, накопитель 9005 на оптических дисках считывает поток битов из дискового носителя 9100 записи, который вставлен, и передает считываемый поток битов в модуль 9008 декодирования кадров IC 9002 кодека через шину 9010. Модуль 9008 декодирования кадров выполняет процесс декодирования кадров для входного потока битов в устройстве декодирования кадров согласно варианту осуществления настоящего изобретения и передает декодированный кадр на внешний монитор 9103 через видеоинтерфейс 9009. Устройство 9000 кодирования/декодирования включает в себя сетевой интерфейс 9006 и может соединяться с внешним сервером 9106 распространения и портативным терминалом 9107 через сеть 9101. Когда пользователь хочет воспроизводить кадр, записанный на сервере 9106 распространения или в портативном терминале 9107, вместо кадра, записанного на дисковом носителе 9100 записи, сетевой интерфейс 9006 получает поток битов из сети 9101 вместо считывания потока битов из входного дискового носителя 9100 записи. Когда пользователь хочет воспроизводить кадр, записанный в запоминающем устройстве 9004, процесс декодирования кадров в устройстве декодирования кадров согласно варианту осуществления настоящего изобретения выполняется для потока битов, записанного в запоминающем устройстве 9004.[0203] When a user requires a playback operation of a frame recorded on the disc recording medium 9100, the optical disc drive 9005 reads the bitstream from the disc recording medium 9100 that is inserted, and transmits the read bitstream to the frame decoding module 9008 of the codec IC 9002 via the bus 9010 The frame decoding unit 9008 performs a frame decoding process for an input bitstream in a frame decoding apparatus according to an embodiment of the present invention, and transmits the decoded frame to an external monitor 9103 via a video interface 9009. The encoding/decoding apparatus 9000 includes a network interface 9006 and can be connected to an external the distribution server 9106 and the portable terminal 9107 via the network 9101. When the user wants to play back a frame recorded on the distribution server 9106 or the portable terminal 9107 instead of the frame recorded on the disc recording medium 9100, the network interface 9006 receives a bitstream from the network 9101 instead of reading the bitstream from the input disk recording medium 9100. When the user wants to play back a frame recorded in the memory 9004, a frame decoding process in the frame decoding apparatus according to an embodiment of the present invention is performed on the bitstream recorded in the memory 9004.

[0204] Когда пользователь хочет выполнять операцию кодирования кадра, захваченного посредством внешней камеры 9102 и записи кодированного кадра в запоминающем устройстве 9004, видеоинтерфейс 9009 вводит кадр из камеры 9102 и передает кадр в модуль 9007 кодирования кадров IC 9002 кодека через шину 9010. Модуль 9007 кодирования кадров выполняет процесс кодирования кадров для ввода кадра через видеоинтерфейс 9009 в устройстве кодирования кадров согласно варианту осуществления настоящего изобретения, чтобы создавать поток битов. Затем поток битов передается в запоминающее устройство 9004 через шину 9010. Когда пользователь хочет записывать поток битов на дисковом носителе 9100 записи вместо запоминающего устройства 9004, накопитель 9005 на оптических дисках записывает поток битов на дисковый носитель 9100 записи, который вставлен.[0204] When the user wants to perform an operation of encoding a frame captured by the external camera 9102 and writing the encoded frame to the storage device 9004, the video interface 9009 inputs the frame from the camera 9102 and transmits the frame to the frame encoding module 9002 of the codec IC 9002 via the bus 9010. The encoding module 9007 frames performs a frame encoding process for inputting a frame through the video interface 9009 in the frame encoding device according to an embodiment of the present invention to create a bit stream. Then, the bitstream is transmitted to the storage device 9004 via the bus 9010. When the user wants to record the bitstream on the disk recording medium 9100 instead of the storage device 9004, the optical disc drive 9005 records the bitstream on the disk recording medium 9100 that is inserted.

[0205] Также можно реализовывать аппаратную конфигурацию, которая включает в себя устройство кодирования кадров без включения устройства декодирования кадров, либо аппаратную конфигурацию, которая включает в себя устройство декодирования кадров без включения устройства кодирования кадров. Такая аппаратная конфигурация реализуется, например, посредством замены IC 9002 кодека модулем 9007 кодирования кадров или модулем 9008 декодирования кадров.[0205] It is also possible to implement a hardware configuration that includes a frame encoder without including a frame decoder, or a hardware configuration that includes a frame decoder without including a frame encoder. Such a hardware configuration is implemented, for example, by replacing the codec IC 9002 with a frame encoding module 9007 or a frame decoding module 9008.

[0206] Вышеуказанные процессы, связанные с кодированием и декодированием, могут реализовываться как устройство передачи, хранения и приема данных с использованием аппаратных средств и реализовываться посредством микропрограммного обеспечения, сохраненного в постоянном запоминающем устройстве (ROM), во флэш-памяти и т.п., либо как программное обеспечение компьютера и т.п. Микропрограммно-реализованная программа и программно-реализованная программа для нее могут предоставляться посредством записи программ на носителе записи, допускающем считывание посредством компьютера и т.п., либо могут предоставляться из сервера через проводную или беспроводную сеть, либо могут предоставляться в качестве широковещательных передач данных согласно наземной или спутниковой цифровой широковещательной передаче.[0206] The above processes related to encoding and decoding may be implemented as a data transmission, storage, and reception device using hardware, and implemented by firmware stored in read only memory (ROM), flash memory, or the like. or as computer software, etc. The firmware and firmware therefor may be provided by writing programs on a recording medium capable of being read by a computer or the like, or may be provided from a server via a wired or wireless network, or may be provided as data broadcasts according to terrestrial or satellite digital broadcast.

[0207] Настоящее изобретение описывается выше на основе вариантов осуществления. Варианты осуществления представляют собой примеры, и специалисты в данной области техники должны понимать, что различные модификации являются возможными в комбинациях соответствующих компонентов и процессов обработки, и такие модификации находятся в пределах объема настоящего изобретения.[0207] The present invention is described above based on the embodiments. Embodiments are examples, and those skilled in the art will appreciate that various modifications are possible in combinations of appropriate components and processing processes, and such modifications are within the scope of the present invention.

Пояснение номеров ссылокExplanation of reference numbers

[0208][0208]

100 - устройство кодирования кадров100 - frame encoder

101 - модуль разбиения блоков101 - block breaking module

102 - модуль интер-предсказания102 - inter-prediction module

103 - модуль интра-предсказания103 - intra-prediction module

104 - запоминающее устройство декодированных кадров104 - decoded frame memory

105 - модуль определения способа предсказания105 - prediction method determination module

106 - модуль формирования остатков106 - residue formation module

107 - модуль ортогонального преобразования/квантования107 - orthogonal transformation/quantization module

108 - модуль кодирования битовых строк108 - bit string encoding module

109 - модуль обратного квантования/обратного ортогонального преобразования109 - inverse quantization/inverse orthogonal transform module

110 - модуль наложения сигналов кадров для декодирования110 - frame overlay module for decoding

111 - запоминающее устройство для хранения информации кодирования111 - storage device for storing encoding information

200 - устройство декодирования кадров200 - frame decoder

201 - модуль декодирования битовых строк201 - bit string decoding module

202 - модуль разбиения блоков202 - block breaking module

203 - модуль интер-предсказания203 - inter-prediction module

204 - модуль интра-предсказания204 - intra-prediction module

205 - запоминающее устройство для хранения информации кодирования205 - storage device for storing encoding information

206 - модуль обратного квантования/обратного ортогонального преобразования206 - inverse quantization/inverse orthogonal transform module

207 - модуль наложения сигналов кадров для декодирования207 - frame overlay module for decoding

208 - запоминающее устройство декодированных кадров.208 is a storage device for decoded frames.

Claims (16)

1. Устройство кодирования движущихся кадров, содержащее:1. A moving frame encoding device, comprising: модуль извлечения потенциально подходящих вариантов пространственной информации движения, выполненный с возможностью извлекать потенциально подходящий вариант пространственной информации движения из информации движения блока, соседнего с целевым блоком кодирования, в пространственной области; иa spatial motion information candidate extractor, configured to extract a candidate spatial motion information from the motion information of a block adjacent to the coding target block in a spatial domain; and модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории, выполненный с возможностью извлекать потенциально подходящий вариант информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения кодированного блока,a history-based motion information candidate extraction module, configured to extract motion information candidates based on history from a memory storing encoded block motion information, при этом модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории предпочтительно извлекает старую информацию движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.wherein the historical motion information candidate extraction module preferably extracts the old motion information without comparing the motion information with the potential motion spatial information candidate. 2. Способ кодирования движущихся кадров, содержащий:2. A method for encoding moving frames, comprising: первый процесс, в котором извлекают потенциально подходящий вариант пространственной информации движения из информации движения блока, соседнего с целевым блоком кодирования, в пространственной области; иa first process in which a potentially suitable case of spatial motion information is extracted from the motion information of a block adjacent to the coding target block in a spatial domain; and второй процесс, в котором извлекают потенциально подходящий вариант информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения кодированного блока,a second process that extracts a potentially suitable case of motion information based on the history from a storage device that stores the motion information of the encoded block, при этом второй процесс включает в себя этап, на котором предпочтительно извлекают старую информацию движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.wherein the second process includes the step of preferably extracting the old motion information without comparing the motion information with a potentially suitable variant of the spatial motion information. 3. Устройство декодирования движущихся кадров, содержащее:3. A moving frame decoding device, comprising: модуль извлечения потенциально подходящих вариантов пространственной информации движения, выполненный с возможностью извлекать потенциально подходящий вариант пространственной информации движения из информации движения блока, соседнего с целевым блоком декодирования, в пространственной области; иa candidate spatial motion information candidate extractor, configured to extract a candidate spatial motion information from the motion information of a block adjacent to the decoding target block in a spatial domain; and модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории, выполненный с возможностью извлекать потенциально подходящий вариант информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения декодированного блока,a history-based motion information candidate extractor, configured to extract motion information candidates based on history from a memory storing motion information of the decoded block, при этом модуль извлечения потенциально подходящих вариантов информации движения на основе предыстории предпочтительно извлекает старую информацию движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.wherein the historical motion information candidate extraction module preferably extracts the old motion information without comparing the motion information with the potential motion spatial information candidate. 4. Способ декодирования движущихся кадров, содержащий:4. A method for decoding moving frames, comprising: первый процесс, в котором извлекают потенциально подходящий вариант пространственной информации движения из информации движения блока, соседнего с целевым блоком декодирования, в пространственной области; иa first process in which a potentially suitable case of spatial motion information is extracted from the motion information of a block adjacent to the decoding target block in a spatial domain; and второй процесс, в котором извлекают потенциально подходящий вариант информации движения на основе предыстории из запоминающего устройства, в котором хранится информация движения декодированного блока,a second process that extracts a potentially suitable case of motion information based on the history from a storage device that stores the motion information of the decoded block, при этом второй процесс включает в себя этап, на котором предпочтительно извлекают старую информацию движения без проведения сравнения информации движения с потенциально подходящим вариантом пространственной информации движения.wherein the second process includes the step of preferably extracting the old motion information without comparing the motion information with a potentially suitable variant of the spatial motion information.
RU2021118523A 2018-12-28 2019-12-20 Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method and moving image decoding program RU2768971C1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2018-247405 2018-12-28
JP2018247405 2018-12-28
JP2019082763 2019-04-24
JP2019-082763 2019-04-24
PCT/JP2019/050004 WO2020137848A1 (en) 2018-12-28 2019-12-20 Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method, and moving image decoding program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2022106510A Division RU2779292C2 (en) 2018-12-28 2019-12-20 Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method and display program

Publications (1)

Publication Number Publication Date
RU2768971C1 true RU2768971C1 (en) 2022-03-28

Family

ID=71127628

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2021118523A RU2768971C1 (en) 2018-12-28 2019-12-20 Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method and moving image decoding program

Country Status (10)

Country Link
US (2) US11558606B2 (en)
EP (1) EP3905690A4 (en)
JP (4) JP6763468B1 (en)
KR (2) KR20240000647A (en)
CN (2) CN112425170B (en)
BR (1) BR112021012426A8 (en)
MX (1) MX2021007755A (en)
RU (1) RU2768971C1 (en)
WO (1) WO2020137848A1 (en)
ZA (1) ZA202104079B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021513795A (en) * 2019-01-01 2021-05-27 エルジー エレクトロニクス インコーポレイティド Methods and Devices for Processing Video Signals Based on History-Based Motion Vector Predictions
WO2020141962A1 (en) * 2019-01-04 2020-07-09 세종대학교산학협력단 Method and apparatus for image encoding/decoding
US11627328B2 (en) * 2020-10-16 2023-04-11 Tencent America LLC Method and apparatus for video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130077691A1 (en) * 2011-06-20 2013-03-28 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
US20130114723A1 (en) * 2011-11-04 2013-05-09 Nokia Corporation Method for coding and an apparatus
US20140294320A1 (en) * 2013-03-29 2014-10-02 Anil Kokaram Pull frame interpolation
US20150163508A1 (en) * 2011-10-21 2015-06-11 Mehmet Oguz BICI Method for Video Coding and an Apparatus
US20170127082A1 (en) * 2014-06-16 2017-05-04 Qualcomm Incorporated Simplified shifting merge candidate and merge list derivation in 3d-hevc

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3277111B2 (en) 1995-10-18 2002-04-22 シャープ株式会社 Video encoding device and video decoding device
ES2601356T3 (en) 2001-11-06 2017-02-14 Panasonic Intellectual Property Corporation Of America Encoding method of moving images and decoding method of moving images
JP4003128B2 (en) * 2002-12-24 2007-11-07 ソニー株式会社 Image data processing apparatus and method, recording medium, and program
GB2469679B (en) * 2009-04-23 2012-05-02 Imagination Tech Ltd Object tracking using momentum and acceleration vectors in a motion estimation system
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
ES2848869T3 (en) * 2011-06-27 2021-08-12 Samsung Electronics Co Ltd Encoding and decoding of motion information
US10264281B2 (en) 2012-07-02 2019-04-16 Hfi Innovation Inc. Method and apparatus of inter-view candidate derivation in 3D video coding
JP5834253B2 (en) * 2013-03-27 2015-12-16 パナソニックIpマネジメント株式会社 Image processing apparatus, image processing method, and image processing program
EP3490259B1 (en) 2013-04-02 2021-10-13 InterDigital Madison Patent Holdings, SAS Enhanced temporal motion vector prediction for scalable video coding
JP6340567B2 (en) 2014-05-30 2018-06-13 株式会社アクセル Movie playback method and movie playback system
CN105939475A (en) * 2016-06-06 2016-09-14 中国矿业大学 High quality side information production method
KR102641872B1 (en) 2018-06-29 2024-02-29 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Interaction between LUT and AMVP
GB2588531B (en) 2018-06-29 2023-02-01 Beijing Bytedance Network Tech Co Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
CA3101730A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
US10958934B2 (en) * 2018-07-27 2021-03-23 Tencent America LLC History-based affine merge and motion vector prediction
EP3849181B1 (en) 2018-10-02 2023-07-05 Lg Electronics Inc. Method and apparatus for constructing prediction candidate on basis of hmvp
KR102542000B1 (en) * 2018-10-04 2023-06-13 엘지전자 주식회사 History-based video coding method and apparatus
US11310515B2 (en) * 2018-11-14 2022-04-19 Tencent America LLC Methods and apparatus for improvement for intra-inter prediction mode
US11470340B2 (en) * 2018-12-10 2022-10-11 Tencent America LLC Simplified merge list construction for small coding blocks
KR20230175329A (en) * 2018-12-12 2023-12-29 엘지전자 주식회사 Method and apparatus for processing video signal based on history based motion vector prediction

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130077691A1 (en) * 2011-06-20 2013-03-28 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
US20150163508A1 (en) * 2011-10-21 2015-06-11 Mehmet Oguz BICI Method for Video Coding and an Apparatus
US20130114723A1 (en) * 2011-11-04 2013-05-09 Nokia Corporation Method for coding and an apparatus
RU2577207C2 (en) * 2011-11-04 2016-03-10 Нокиа Текнолоджиз Ой Video encoding method and device
US20140294320A1 (en) * 2013-03-29 2014-10-02 Anil Kokaram Pull frame interpolation
US20170127082A1 (en) * 2014-06-16 2017-05-04 Qualcomm Incorporated Simplified shifting merge candidate and merge list derivation in 3d-hevc

Also Published As

Publication number Publication date
BR112021012426A8 (en) 2022-08-02
US20230091579A1 (en) 2023-03-23
KR102617199B1 (en) 2023-12-27
JP6763468B1 (en) 2020-09-30
MX2021007755A (en) 2021-08-05
RU2022106510A (en) 2022-03-21
US11558606B2 (en) 2023-01-17
KR20210013199A (en) 2021-02-03
JP7457924B2 (en) 2024-03-29
CN112425170A (en) 2021-02-26
JP2024023670A (en) 2024-02-21
CN112425170B (en) 2024-03-22
ZA202104079B (en) 2022-10-26
US20210185311A1 (en) 2021-06-17
BR112021012426A2 (en) 2021-09-08
KR20240000647A (en) 2024-01-02
CN112954317B (en) 2022-02-11
EP3905690A4 (en) 2022-11-02
WO2020137848A1 (en) 2020-07-02
CN112954317A (en) 2021-06-11
JP2020205623A (en) 2020-12-24
JP2022082617A (en) 2022-06-02
EP3905690A1 (en) 2021-11-03
JP2020182207A (en) 2020-11-05

Similar Documents

Publication Publication Date Title
JP7445936B2 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
RU2768971C1 (en) Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method and moving image decoding program
RU2765206C1 (en) Frame encoding device, frame encoding method, frame decoding device and frame decoding method
RU2768375C1 (en) Dynamic image decoding device, a dynamic image decoding method, a dynamic image decoding program, a dynamic image encoding device, a dynamic image encoding method and a dynamic image encoding program
JP7251579B2 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
RU2779292C2 (en) Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method and display program
RU2767973C1 (en) Video encoding device, video encoding method, video decoding device and video decoding method
RU2776437C2 (en) Frame encoding device, frame encoding method, frame decoding device and frame decoding method
RU2779930C2 (en) Dynamic image decoding device, dynamic image decoding method, dynamic image decoding program, dynamic image encoding device, dynamic image coding method and dynamic image coding program
RU2772985C1 (en) Frame encoding device, frame encoding method, frame decoding device and frame decoding method
RU2773383C1 (en) Frame decoding device, a method for decoding frames and a program for decoding frames
CN113068038A (en) Moving picture decoding device, moving picture decoding method, and moving picture decoding program
RU2783841C2 (en) Video encoding device, video encoding method, video decoding device and video decoding method
CN113055690B (en) Image encoding device and method, image decoding device and method, and storage medium