RU2807594C2 - Method and device for processing video signal based on history-based motion vector prediction - Google Patents

Method and device for processing video signal based on history-based motion vector prediction Download PDF

Info

Publication number
RU2807594C2
RU2807594C2 RU2022114800A RU2022114800A RU2807594C2 RU 2807594 C2 RU2807594 C2 RU 2807594C2 RU 2022114800 A RU2022114800 A RU 2022114800A RU 2022114800 A RU2022114800 A RU 2022114800A RU 2807594 C2 RU2807594 C2 RU 2807594C2
Authority
RU
Russia
Prior art keywords
candidate
merge
list
candidates
hmvp
Prior art date
Application number
RU2022114800A
Other languages
Russian (ru)
Other versions
RU2022114800A (en
Inventor
Джейн Чжао
Сеунгхван КИМ
Original Assignee
ЭлДжи ЭЛЕКТРОНИКС ИНК.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ЭлДжи ЭЛЕКТРОНИКС ИНК. filed Critical ЭлДжи ЭЛЕКТРОНИКС ИНК.
Publication of RU2022114800A publication Critical patent/RU2022114800A/en
Application granted granted Critical
Publication of RU2807594C2 publication Critical patent/RU2807594C2/en

Links

Images

Abstract

FIELD: encoding.
SUBSTANCE: invention relates to the encoding for performing inter-frame prediction using history-based motion vector prediction. Devices for encoding and decoding images are proposed. The devices perform video signal processing based on interframe prediction and comprise the steps of: configuring a list of merge candidates based on a spatial neighbour block and a temporal neighbour block of the current block; adding the current block based on the history of the merge candidate to the list of merge candidates; obtaining a merge index indicating a merge candidate that is used for inter-frame prediction of the current block in the merge candidate list; generating a prediction sample of the current block based on the motion information of the merge candidate indicated by the merge index; and updating the list of history-based merger candidates based on the traffic information.
EFFECT: providing a constraint on redundancy checking to improve prediction performance when adding an HMVP candidate to a merge candidate list (or AMVP candidate list).
13 cl, 43 dwg, 11 tbl

Description

Область техникиField of technology

[0001] Вариант осуществления изобретения относится к способу и устройству для обработки видеосигнала на основании межкадрового предсказания и, более конкретно, к способу и устройству для выполнения межкадрового предсказания с использованием основанного на истории предсказания вектора движения.[0001] An embodiment of the invention relates to a method and apparatus for processing a video signal based on inter-frame prediction, and more particularly, to a method and apparatus for performing inter-frame prediction using history-based motion vector prediction.

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

[0002] Кодирование со сжатием означает ряд методик обработки сигнала для передачи, представленной в цифровой форме, информации посредством линии связи или методик для хранения информации в форме, подходящей для запоминающего носителя информации. Среда, включающая в себя картинку, изображение, аудио и т.д., может быть целью кодирования со сжатием, и, в частности, методика для выполнения кодирования со сжатием над картинкой упоминается как сжатие видеоизображения.[0002] Compression coding refers to a series of signal processing techniques for transmitting digitally represented information over a communications link or techniques for storing information in a form suitable for storage media. A medium including picture, image, audio, etc. may be the target of compression encoding, and in particular, a technique for performing compression encoding on a picture is referred to as video compression.

[0003] Предполагается, что содержимое видео следующего поколения обладает характеристиками высокого пространственного разрешения, высокой частотой кадров и высокой размерностью представления сцены. Обработка такого содержимого приведет к резкому увеличению объема памяти, скорости доступа к памяти и мощности обработки.[0003] Next generation video content is expected to have the characteristics of high spatial resolution, high frame rate, and high scene representation dimension. Processing such content will result in dramatic increases in memory capacity, memory access speed, and processing power.

[0004] Соответственно, требуется разработка инструмента кодирования для эффективной обработки содержимого видео следующего поколения.[0004] Accordingly, development of an encoding tool to efficiently process next generation video content is required.

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

Техническая проблемаTechnical problem

[0005] Цель варианта осуществления изобретения состоит в том, чтобы предложить ограничения на проверку избыточности для повышения эффективности предсказания при добавлении кандидата HMVP в список кандидатов на слияние (или список кандидатов AMVP).[0005] The purpose of an embodiment of the invention is to provide redundancy check constraints to improve prediction performance when adding an HMVP candidate to a merge candidate list (or AMVP candidate list).

[0006] Другая цель варианта осуществления изобретения состоит в том, чтобы предложить способ определения размера таблицы HMVP для того, чтобы эффективно применять кандидата HVMV к списку кандидатов на слияние (список кандидатов AMVP).[0006] Another object of an embodiment of the invention is to provide a method for determining the size of an HMVP table in order to efficiently apply an HVMV candidate to a merge candidate list (AMVP candidate list).

[0007] Технические цели, которые должны достигаться вариантом осуществления изобретения, не ограничиваются вышеупомянутыми техническими целями, и прочие технические цели, не описанные выше, могут быть несомненно понятны специалисту в соответствующей области техники, к которой относится изобретение, из нижеследующего описания.[0007] The technical objectives to be achieved by the embodiment of the invention are not limited to the above-mentioned technical objectives, and other technical objectives not described above can be clearly understood by one skilled in the relevant art from the following description.

Техническое решениеTechnical solution

[0008] В аспекте варианта осуществления изобретения, способ обработки видеосигнала на основании основанного на истории предсказания вектора движения может содержать этапы, на которых: конфигурируют список кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока текущего блока; добавляют основанного на истории кандидата на слияние текущего блока в список кандидатов на слияние; получают индекс слияния, указывающий кандидата на слияние, который используется для межкадрового предсказания текущего блока, в списке кандидатов на слияние, формируют сэмпл предсказания текущего блока на основании информации о движении кандидата на слияние, указанного индексом слияния; и обновляют список основанных на истории кандидатов на слияние на основании информации о движении, при этом основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда он обладает информацией о движении, отличной от той, что у предварительно определенного кандидата на слияние из кандидатов на слияние, включенных в список кандидатов на слияние.[0008] In an aspect of an embodiment of the invention, a method of processing a video signal based on history-based motion vector prediction may comprise the steps of: configuring a merge candidate list based on a spatial neighbor block and a temporal neighbor block of the current block; adding a history-based merge candidate of the current block to the list of merge candidates; obtaining a merge index indicating a merge candidate, which is used for inter-frame prediction of the current block, in the list of merge candidates, generating a prediction sample of the current block based on the motion information of the merge candidate indicated by the merge index; and updating the list of history-based merge candidates based on the motion information, wherein the history-based merge candidate is added to the list of merge candidates when it has motion information different from that of the predetermined merge candidate of the candidates. for merger included in the list of merger candidates.

[0009] В варианте осуществления, размер списка основанных на истории кандидатов на слияние может быть определен на основании максимального количества кандидатов на слияние в списке кандидатов на слияние.[0009] In an embodiment, the size of the history-based merge candidate list may be determined based on the maximum number of merge candidates in the merge candidate list.

[0010] В варианте осуществления, размер списка основанных на истории кандидатов на слияние может быть определен как значение, равное 1, которая вычитается из максимального количества кандидатов на слияние в списке кандидатов на слияние.[0010] In an embodiment, the size of the history-based merge candidate list can be defined as a value equal to 1, which is subtracted from the maximum number of merge candidates in the merge candidate list.

[0011] В варианте осуществления, размер списка основанных на истории кандидатов на слияние может быть определен как 5.[0011] In an embodiment, the size of the history-based merge candidate list may be defined as 5.

[0012] В варианте осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, когда основанный на истории кандидат на слияние включает в себя информацию о движении, отличную от информации о движения конкретного количества предварительно определенных кандидатов на слияние среди кандидатов на слияние, включенных в список кандидатов на слияние.[0012] In an embodiment, a history-based merger candidate may be added to the list of merger candidates when the history-based merger candidate includes movement information other than the movement information of a specific number of predetermined merger candidates among the candidates for merger included in the list of merger candidates.

[0013] В варианте осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, когда основанный на истории кандидат на слияние включает в себя информацию о движении, отличную от информации о движении конкретных пространственных кандидатов на слияние, включенных в список кандидатов на слияние.[0013] In an embodiment, a history-based merge candidate may be added to the list of merge candidates when the history-based merge candidate includes motion information different from the motion information of specific spatial merge candidates included in the list merger candidates.

[0014] В варианте осуществления, основанный на истории кандидат на слияние может быть извлечен из предварительно определенного количества кандидатов в списке основанных на истории кандидатов на слияние.[0014] In an embodiment, the history-based merge candidate may be retrieved from a predetermined number of candidates in the list of history-based merge candidates.

[0015] В другом аспекте варианта осуществления, устройство обработки видеосигнала на основании межкадрового предсказания может содержать: память, выполненную с возможностью хранения видеосигналов; и процессор, объединенный с памятью, при этом процессор выполнен с возможностью: конфигурирования списка кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока текущего блока; добавления основанного на истории кандидата на слияние текущего блока в список кандидатов на слияние; получения индекса слияния, указывающего кандидата на слияние, который используется для межкадрового предсказания текущего блока, в списке кандидатов на слияние; формирования сэмпла предсказания текущего блока на основании информации о движении кандидата на слияние, указанного индексом слияния; и обновления списка основанных на истории кандидатов на слияние на основании информации о движении, при этом основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда он обладает информацией о движении, отличной от той, что у предварительно определенного кандидата на слияние из кандидатов на слияние, включенных в список кандидатов на слияние.[0015] In another aspect of the embodiment, a video signal processing device based on inter-frame prediction may comprise: a memory configured to store video signals; and a processor integrated with the memory, wherein the processor is configured to: configure a list of merge candidates based on a spatial neighbor block and a temporal neighbor block of the current block; adding the history-based merge candidate of the current block to the list of merge candidates; obtaining a merge index indicating a merge candidate that is used for inter-frame prediction of the current block in the merge candidate list; generating a prediction sample of the current block based on information about the movement of the merger candidate indicated by the merger index; and updating the list of history-based merger candidates based on the motion information, wherein the history-based merger candidate is added to the list of merger candidates when it has motion information different from that of the predetermined merger candidate of the candidates. for merger included in the list of merger candidates.

Технические результатыTechnical results

[0016] В соответствии с вариантом осуществления изобретения, сложность в соответствии с проверкой избыточности может быть уменьшена и эффективность сжатия может быть повышена путем ограничения проверки избыточности для добавления в список кандидатов на слияние (или список кандидатов AMVP).[0016] According to an embodiment of the invention, the complexity according to the redundancy check can be reduced and the compression efficiency can be increased by limiting the redundancy check to be added to the merge candidate list (or AMVP candidate list).

[0017] В соответствии с вариантом осуществления изобретения, нагрузка на память, ассоциированная с хранением таблицы HMVP, может быть уменьшена путем определения размера таблицы HMVP.[0017] In accordance with an embodiment of the invention, the memory load associated with storing the HMVP table can be reduced by determining the size of the HMVP table.

[0018] Результаты, которые могут быть получены в изобретении не ограничиваются вышеупомянутыми результатами, и прочие технические результаты, не описанные выше, могут быть несомненно понятны специалисту в соответствующей области техники, к которой относится изобретение, из нижеследующего описания.[0018] The results that can be obtained in the invention are not limited to the above-mentioned results, and other technical results not described above can be clearly understood by a person skilled in the relevant field of technology to which the invention relates from the following description.

Описание чертежейDescription of drawings

[0019] Сопроводительные чертежи, которые включены как часть подробного описания для того, чтобы помочь в понимании изобретения, предоставляют варианты осуществления изобретения и описывают технические характеристики изобретения наряду с подробным описанием.[0019] The accompanying drawings, which are included as part of the detailed description to assist in understanding the invention, provide embodiments of the invention and describe the technical characteristics of the invention along with the detailed description.

[0020] Фиг. 1 иллюстрирует пример системы кодирования видео в соответствии с вариантом осуществления изобретения.[0020] FIG. 1 illustrates an example of a video encoding system in accordance with an embodiment of the invention.

[0021] Фиг. 2 является вариантом осуществления, к которому применяется изобретение, и является принципиальной структурной схемой устройства кодирования для кодирования видео сигнала/сигнала изображения.[0021] FIG. 2 is an embodiment to which the invention is applied, and is a schematic block diagram of an encoding apparatus for encoding a video signal/image signal.

[0022] Фиг. 3 является вариантом осуществления, к которому применяется изобретение, и является принципиальной структурной схемой устройства декодирования для декодирования видеосигнала/сигнала изображения.[0022] FIG. 3 is an embodiment to which the invention is applied, and is a circuit block diagram of a decoding apparatus for decoding a video/image signal.

[0023] Фиг. 4 показывает пример структурной схемы системы потоковой передачи контента в соответствии с вариантом осуществления изобретения.[0023] FIG. 4 shows an example of a block diagram of a content streaming system in accordance with an embodiment of the invention.

[0024] Фиг. 5 показывает пример структурной схемы устройства для обработки видеосигнала в соответствии с вариантом осуществления изобретения.[0024] FIG. 5 shows an example of a block diagram of a video signal processing apparatus according to an embodiment of the invention.

[0025] Фиг. 6 является примером структуры дробления блока в соответствии с вариантом осуществления изобретения, Фиг. с 6a по 6b соответственно иллюстрируют примеры структур дробления блока в соответствии с квадродеревом (QT), бинарным деревом (BT), тернарным деревом (TT) и ассиметричным деревом (AT).[0025] FIG. 6 is an example of a block crushing structure according to an embodiment of the invention, FIG. 6a to 6b respectively illustrate examples of block splitting structures according to quadtree (QT), binary tree (BT), ternary tree (TT) and asymmetric tree (AT).

[0026] Фиг. 7 и 8 являются соответственно основанной на межкадровом предсказании процедурой кодирования видео/изображения и средством межкадрового предсказания в устройстве кодирования в соответствии с вариантом осуществления изобретения.[0026] FIG. 7 and 8 are respectively an inter-frame prediction-based video/image encoding procedure and an inter-frame prediction means in an encoding apparatus according to an embodiment of the invention.

[0027] Фиг. 9 и 10 являются соответственно основанной на межкадровом предсказании процедурой декодирования видео/изображения и средством межкадрового предсказания в устройстве кодирования в соответствии с вариантом осуществления изобретения.[0027] FIG. 9 and 10 are respectively an inter-frame prediction based video/image decoding procedure and an inter-frame prediction means in an encoding apparatus according to an embodiment of the invention.

[0028] Фиг. 11 иллюстрирует пример создания пространственных кандидатов на слияние для текущего блока.[0028] FIG. 11 illustrates an example of creating spatial merge candidates for the current block.

[0029] Фиг. 12 является блок-схемой, иллюстрирующей способ конфигурирования списка кандидатов на слияние в соответствии с вариантом осуществления, к которому применяется изобретение.[0029] FIG. 12 is a flowchart illustrating a method for configuring a merge candidate list in accordance with an embodiment to which the invention is applied.

[0030] Фиг. 13 является блок-схемой, иллюстрирующей способ конфигурирования списка кандидатов на предсказание (списка кандидатов на MVP) в соответствии с вариантом осуществления, к которому применяется изобретение.[0030] FIG. 13 is a flowchart illustrating a method for configuring a prediction candidate list (MVP candidate list) in accordance with an embodiment to which the invention is applied.

[0031] Фиг. 14 иллюстрирует пример моделей движения в соответствии с вариантом осуществления изобретения.[0031] FIG. 14 illustrates an example of motion patterns in accordance with an embodiment of the invention.

[0032] Фиг. 15 иллюстрирует пример вектора движения точки управления для аффинного предсказания движения в соответствии с вариантом осуществления изобретения.[0032] FIG. 15 illustrates an example of a control point motion vector for affine motion prediction in accordance with an embodiment of the invention.

[0033] Фиг. 16 иллюстрирует пример вектора движения каждого субблока у блока, к которому было применено аффинное предсказание движения в соответствии с вариантом осуществления изобретения.[0033] FIG. 16 illustrates an example of the motion vector of each sub-block of a block to which affine motion prediction has been applied in accordance with an embodiment of the invention.

[0034] Фиг. 17 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном режиме слияния в соответствии с вариантом осуществления изобретения.[0034] FIG. 17 illustrates an example of neighboring blocks that are used for affine motion prediction in an affine fusion mode in accordance with an embodiment of the invention.

[0035] Фиг. 18 иллюстрирует пример блока, над которым выполняется аффинное предсказание движения с использованием соседних блоков, к которым было применено аффинное предсказание движения в соответствии с вариантом осуществления изобретения.[0035] FIG. 18 illustrates an example of a block on which affine motion prediction is performed using neighboring blocks to which affine motion prediction has been applied in accordance with an embodiment of the invention.

[0036] Фиг. 19 является схемой для описания способа формирования списка кандидатов на слияние с использованием соседнего аффинного блока кодирования в соответствии с вариантом осуществления изобретения.[0036] FIG. 19 is a diagram for describing a method for generating a merge candidate list using an adjacent affine encoding block in accordance with an embodiment of the invention.

[0037] Фиг. 20 и 21 являются схемами для описания способа создания аффинного списка кандидатов на слияние с использованием соседнего блока, кодированного посредством аффинного предсказания в соответствии с вариантом осуществления изобретения.[0037] FIG. 20 and 21 are diagrams for describing a method for creating an affine merge candidate list using a neighbor block encoded by affine prediction in accordance with an embodiment of the invention.

[0038] Фиг. 22 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.[0038] FIG. 22 illustrates an example of adjacent blocks that are used for affine motion prediction in an affine interframe mode in accordance with an embodiment of the invention.

[0039] Фиг. 23 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.[0039] FIG. 23 illustrates an example of adjacent blocks that are used for affine motion prediction in an affine interframe mode in accordance with an embodiment of the invention.

[0040] Фиг. 24 и 25 являются схемами, иллюстрирующими способ извлечения вектора-кандидата движения с использованием информации о движении соседнего блока в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.[0040] FIG. 24 and 25 are diagrams illustrating a method for extracting a candidate motion vector using motion information of a neighboring block in an affine interframe mode according to an embodiment of the invention.

[0041] Фиг. 26 иллюстрирует пример аффинного поля вектора движения единицы субблока в соответствии с вариантом осуществления изобретения.[0041] FIG. 26 illustrates an example of a subblock unit motion vector affine field in accordance with an embodiment of the invention.

[0042] Фиг. 27 является блок-схемой для описания способа хранения HMVP в соответствии с вариантом осуществления изобретения.[0042] FIG. 27 is a flowchart for describing a method for storing HMVP in accordance with an embodiment of the invention.

[0043] Фиг. 28 является схемой для описания таблицы HMVP, которая работает согласно дисциплине очереди FIFO без ограничений в соответствии с вариантом осуществления изобретения.[0043] FIG. 28 is a diagram for describing an HMVP table that operates according to a FIFO queue discipline without restrictions in accordance with an embodiment of the invention.

[0044] Фиг. 29 является схемой для описания таблицы HMVP, которая работает согласно дисциплине очереди FIFO с ограничениями в соответствии с вариантом осуществления изобретения.[0044] FIG. 29 is a diagram for describing an HMVP table that operates according to a constrained FIFO queue discipline in accordance with an embodiment of the invention.

[0045] Фиг. 30 является схемой, иллюстрирующей HMVP LUT и долгосрочную HMVP LUT в соответствии с вариантом осуществления изобретения.[0045] FIG. 30 is a diagram illustrating an HMVP LUT and a long-term HMVP LUT in accordance with an embodiment of the invention.

[0046] Фиг. 31 является схемой, иллюстрирующей пример способа обновления HMVP LUT в соответствии с вариантом осуществления изобретения.[0046] FIG. 31 is a diagram illustrating an example of a method for updating an HMVP LUT in accordance with an embodiment of the invention.

[0047] Фиг. 32 является схемой, иллюстрирующей способ ограничения количества кандидатов HMVP, т.е. цели проверки отсечения, в соответствии с вариантом осуществления изобретения.[0047] FIG. 32 is a diagram illustrating a method for limiting the number of HMVP candidates, i.e. the purpose of checking the clipping, in accordance with an embodiment of the invention.

[0048] Фиг. 33 является блок-схемой, иллюстрирующей пример способа выполнения проверки отсечения в соответствии с вариантом осуществления изобретения.[0048] FIG. 33 is a flowchart illustrating an example of a method for performing a clipping check in accordance with an embodiment of the invention.

[0049] Фиг. 34 является схемой для описания способа извлечения кандидата H-STMVP с использованием векторов движения, которые ссылаются на разные опорные картинки в соответствии с вариантом осуществления изобретения.[0049] FIG. 34 is a diagram for describing a method for extracting an H-STMVP candidate using motion vectors that refer to different reference pictures in accordance with an embodiment of the invention.

[0050] Фиг. 35 является схемой, иллюстрирующей местоположение блока для извлечения унаследованного аффинного кандидата HMVP в соответствии с вариантом осуществления изобретения.[0050] FIG. 35 is a diagram illustrating the location of a block for extracting a legacy HMVP affinity candidate in accordance with an embodiment of the invention.

[0051] Фиг. 36 является схемой, иллюстрирующей аффинный список слияния или аффинный список AMVP в соответствии с вариантом осуществления изобретения.[0051] FIG. 36 is a diagram illustrating an affine merge list or an AMVP affine list in accordance with an embodiment of the invention.

[0052] Фиг. 37 является блок-схемой, иллюстрирующей способ обработки видеосигнала на основании основанного на истории предсказания вектора движения в соответствии с вариантом осуществления, к которому применяется изобретение.[0052] FIG. 37 is a flow chart illustrating a method of processing a video signal based on history-based motion vector prediction in accordance with an embodiment to which the invention is applied.

[0053] Фиг. 38 является схемой, схематично показывающей пример системы услуги, включающей в себя цифровое устройство.[0053] FIG. 38 is a diagram schematically showing an example of a service system including a digital device.

[0054] Фиг. 39 является структурной схемой, иллюстрирующей цифровое устройство в соответствии с вариантом осуществления.[0054] FIG. 39 is a block diagram illustrating a digital device according to an embodiment.

[0055] Фиг. 40 является структурной схемой конфигурации, иллюстрирующей другой вариант осуществления цифрового устройства.[0055] FIG. 40 is a configuration block diagram illustrating another embodiment of a digital device.

[0056] Фиг. 41 является блок-схемой, иллюстрирующей цифровое устройство в соответствии с другим вариантом осуществления.[0056] FIG. 41 is a block diagram illustrating a digital device according to another embodiment.

[0057] Фиг. 42 является структурной схемой, иллюстрирующей подробную конфигурацию блока управления на Фиг. с 39 по 41.[0057] FIG. 42 is a block diagram illustrating a detailed configuration of the control unit in FIG. from 39 to 41.

[0058] Фиг. 43 является схемой, иллюстрирующей пример, в котором экран цифрового устройства отображает основное изображение и суб-изображение одновременно, в соответствии с вариантом осуществления.[0058] FIG. 43 is a diagram illustrating an example in which a digital device screen displays a main image and a sub-image simultaneously, according to an embodiment.

Вариант осуществления изобретенияEmbodiment of the invention

[0059] Далее предпочтительные варианты осуществления изобретения будут описаны путем обращения к сопроводительным чертежам. Описание, которое будет представлено ниже с помощью сопроводительных чертежей, служит для описания примерных вариантов осуществления изобретения, и не предназначено для описания единственного варианта осуществления, в котором может быть реализовано изобретение. Описание ниже включает в себя конкретные подробности для того, чтобы обеспечить правильное понимание изобретения. Однако, следует понимать, что изобретение может быть воплощено без конкретных подробностей для специалистов в соответствующей области техники. В некоторых случаях, для того, чтобы исключить неясность технической концепции изобретения, структуры или устройства, которые являются общеизвестными, могут быть опущены, или могут быть изображены в качестве структурной схемы, сосредоточенной на базовых функциях структур или устройств.[0059] Next, preferred embodiments of the invention will be described by reference to the accompanying drawings. The description which will be presented below with the help of the accompanying drawings serves to describe exemplary embodiments of the invention, and is not intended to describe the only embodiment in which the invention may be implemented. The description below includes specific details in order to provide a proper understanding of the invention. However, it should be understood that the invention may be practiced without specific details by those skilled in the art. In some cases, in order to avoid obscurity in the technical concept of the invention, structures or devices that are generally known may be omitted, or may be depicted as a block diagram focusing on the basic functions of the structures or devices.

[0060] В некоторых случаях, для того чтобы исключить неясность технической концепции изобретения, структуры или устройства, которые являются общеизвестными, могут быть опущены, или могут быть изображены в качестве структурной схемы, сосредоточенной на базовых функциях структур или устройств.[0060] In some cases, in order to avoid obscurity in the technical concept of the invention, structures or devices that are generally known may be omitted, or may be depicted as a block diagram focusing on the basic functions of the structures or devices.

[0061] Кроме того, несмотря на то, что общие понятия, которые широко используются в настоящее время, выбраны в качестве понятий в изобретении насколько это возможно, понятие, которое является произвольно выбранным заявителем, используется в конкретном случае. Поскольку в таком случае значение понятия будет четко описано в соответствующей части описания, следует понимать, что изобретение не будет просто интерпретировано в соответствии с понятиями, которые только используются в описании изобретения, а должно быть выяснено значение понятий.[0061] In addition, although general concepts that are widely used at present are selected as concepts in the invention as far as possible, a concept that is arbitrarily chosen by the applicant is used in a specific case. Since in such a case the meaning of the concept will be clearly described in the relevant part of the description, it should be understood that the invention will not be simply interpreted in accordance with the concepts that are only used in the description of the invention, but the meaning of the concepts must be clarified.

[0062] Конкретные терминологии, которые используются в описании ниже, могут быть предоставлены, чтобы помочь в понимании изобретения. Кроме того, конкретная терминология может быть модифицирована в других формах в рамках объема технической концепции изобретения. Например, сигнал, данные, сэмпл, картинка, слайс, тайл, кадр, блок и т.д. могут быть надлежащим образом замещены и интерпретированы в каждом процессе кодирования.[0062] Specific terminologies that are used in the description below may be provided to assist in understanding the invention. Moreover, the specific terminology may be modified in other forms within the scope of the technical concept of the invention. For example, signal, data, sample, picture, slice, tile, frame, block, etc. can be appropriately replaced and interpreted in each encoding process.

[0063] Далее, в данном техническом описании, «единица обработки» означает единицу, в которой выполняется процесс кодирования/декодирования, такой как предсказание, преобразование и/или квантование. Единица обработки может быть истолкована как имеющая значение единицы для компонента яркости и единицы для компонента цветности. Например, единица обработки может соответствовать единице дерева кодирования (CTU), единице кодирования (CU), единице предсказания (PU) или единице преобразования (TU).[0063] Hereinafter, in this specification, a “processing unit” means a unit in which an encoding/decoding process such as prediction, transform and/or quantization is performed. A processing unit can be interpreted as having a value of one for the luma component and one for the chrominance component. For example, a processing unit may correspond to a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), or a transformation unit (TU).

[0064] Кроме того, единица обработки может быть истолкована как единица для компонента яркости или единица для компонента цветности. Например, единица обработки может соответствовать блоку дерева кодирования (CTB), блоку кодирования (CB), блоку предсказания (PB) или блоку преобразования (TB) для компонента яркости. В качестве альтернативы, единица обработки может соответствовать блоку дерева кодирования (CTB), блоку кодирования (CB), блоку предсказания (PB) или блоку преобразования (TB) для компонента цветности. Кроме того, изобретение этим не ограничивается и единица обработки может быть истолкована как значение, включающее в себя единицу для компонента яркости и единицу для компонента цветности.[0064] In addition, a processing unit can be interpreted as a unit for a luma component or a unit for a chrominance component. For example, a processing unit may correspond to a coding tree block (CTB), a coding block (CB), a prediction block (PB), or a transform block (TB) for the luminance component. Alternatively, the processing unit may correspond to a coding tree block (CTB), a coding block (CB), a prediction block (PB), or a transform block (TB) for the chrominance component. Moreover, the invention is not limited to this, and a processing unit can be interpreted as a value including a unit for a luma component and a unit for a chrominance component.

[0065] Кроме того, единица обработки по существу не ограничена квадратным блоком и может быть построена в форме многоугольника с тремя или более вершинами.[0065] Moreover, the processing unit is not essentially limited to a square block and can be constructed in the shape of a polygon with three or more vertices.

[0066] Кроме того, далее, в данном техническом описании, пиксель, элемент картинки, коэффициент (коэффициент преобразования или коэффициент преобразования после преобразования первого порядка) и т.д. в целом называются сэмплом (sample, образцом). Кроме того, использование сэмпла может означать использование значения пикселя, значения элемента картинки, коэффициента преобразования или аналогичного.[0066] In addition, hereinafter, in this specification, a pixel, picture element, coefficient (transformation coefficient or transformation coefficient after first-order transformation), etc. generally called a sample. Additionally, using a sample may mean using a pixel value, a picture element value, a transform factor, or the like.

[0067][0067]

[0068] Фиг. 1 иллюстрирует пример системы кодирования видео в соответствии с вариантом осуществления изобретения.[0068] FIG. 1 illustrates an example of a video encoding system in accordance with an embodiment of the invention.

[0069] Система кодирования видео может включать в себя исходное устройство 10 и принимающее устройство 20. Исходное устройство 10 может передавать кодированную видеоинформацию/информацию изображения или данные принимающему устройству 20 в файле или формате потоковой передачи посредством запоминающего носителя информации или сети.[0069] The video encoding system may include a source device 10 and a receiving device 20. The source device 10 may transmit encoded video/image information or data to the receiving device 20 in a file or streaming format via a storage medium or a network.

[0070] Исходное устройство 10 может включать в себя источник 11 видео, устройство 12 кодирования и передатчик 13. Принимающее устройство 20 может включать в себя приемник 21, устройство 22 декодирования и рендерер 23. Исходное устройство может упоминаться как устройство кодирования видео/изображения, а принимающее устройство может упоминаться как устройство декодирования видео/изображения. Передатчик 13 может быть включен в устройство 12 кодирования. Приемник 21 может быть включен в устройство 22 декодирования. Рендерер может включать в себя дисплей и дисплей может быть сконфигурирован в качестве отдельного устройства или внешнего компонента.[0070] The source device 10 may include a video source 11, an encoder 12, and a transmitter 13. The receiving device 20 may include a receiver 21, a decoding device 22, and a renderer 23. The source device may be referred to as a video/image encoder, and the receiving device may be referred to as a video/image decoding device. The transmitter 13 may be included in the encoding device 12. The receiver 21 may be included in the decoding device 22. The renderer may include a display, and the display may be configured as a separate device or an external component.

[0071] Источник видео может получать данные видео/изображения посредством процесса захвата, синтеза или формирования видео/изображения. Источник видео может включать в себя устройство захвата видео/изображения и/или устройство формирования видео/изображения. Устройство захвата видео/изображения может включать в себя, например, одну или несколько камер, архив видео/изображения, включающий в себя ранее захваченное видео/изображения, и аналогичное. Устройство формирования видео/изображения может включать в себя, например, компьютер, планшет и смартфон, и может электронным образом формировать данные видео/изображения. Например, данные виртуального видео/изображения могут быть сформированы посредством компьютера или аналогичного, и в данном случае, процесс захвата видео/изображения может быть замещен процессом формирования связанных данных.[0071] The video source may obtain video/image data through a video/image capture, synthesis, or shaping process. The video source may include a video/image capture device and/or a video/image generation device. The video/image capturing device may include, for example, one or more cameras, a video/image archive including previously captured video/images, and the like. The video/image generating apparatus may include, for example, a computer, a tablet, and a smartphone, and may electronically generate video/image data. For example, the virtual video/image data may be generated by a computer or the like, and in this case, the video/image capturing process may be replaced by a related data generation process.

[0072] Устройство 12 кодирования может кодировать входное видео/изображение. Устройство 12 кодирования может выполнять ряд процедур, таких как предсказание, преобразование и квантование для сжатия и эффективности кодирования. Кодированные данные (кодированная видеоинформация/информация изображения) могут быть выведены в форме битового потока.[0072] The encoding device 12 may encode the input video/image. The encoding device 12 may perform a number of procedures such as prediction, transform and quantization for compression and encoding efficiency. The encoded data (encoded video information/image information) may be output in the form of a bit stream.

[0073] Передатчик 13 может передавать кодированную видеоинформацию/информацию изображения или данные, которые выводятся в форме битового потока, приемнику принимающего устройства посредством цифрового запоминающего носителя информации или сети в файле или формате потоковой передачи. Цифровые запоминающие носители информации могут включать в себя различные запоминающие носители информации, такие как универсальная последовательная шина, карта памяти формата secure digital SD, компакт-диск CD, цифровой видеодиск DVD, Blu-ray, накопитель на жестком диске HDD твердотельный накопитель SSD. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла посредством предварительно определенного формата файла, и может включать в себя элемент для передачи посредством широковещательной сети/сети связи. Приемник 21 может извлекать битовый поток и передавать его устройству 22 декодирования.[0073] The transmitter 13 may transmit encoded video/image information or data that is output in the form of a bitstream to a receiver of a receiving device via a digital storage medium or a network in a file or streaming format. Digital storage media may include various storage media such as universal serial bus, secure digital SD memory card, compact disc CD, digital video disc DVD, Blu-ray, hard disk drive HDD, solid state drive SSD. The transmitter 13 may include an element for generating a multimedia file through a predetermined file format, and may include an element for transmission via a broadcast/communications network. The receiver 21 may extract the bitstream and transmit it to the decoding device 22.

[0074] Устройство 22 декодирования может декодировать данные видео/изображения путем выполнения ряда процедур, таких как обратное квантование, обратное преобразование и предсказание, соответствующих операциям устройства 12 кодирования.[0074] The decoding apparatus 22 can decode video/image data by performing a series of procedures such as inverse quantization, inverse transform, and prediction corresponding to the operations of the encoding apparatus 12.

[0075] Рендерер 23 может осуществлять рендеринг декодированного видео/изображения. Видео/изображение после рендеринга может быть отображено посредством дисплея.[0075] The renderer 23 may render the decoded video/image. The video/image after rendering can be displayed via the display.

[0076][0076]

[0077] Фиг. 2 является вариантом осуществления, к которому применяется изобретение, и является принципиальной структурной схемой устройства кодирования для кодирования видеосигнала/сигнала изображения.[0077] FIG. 2 is an embodiment to which the invention is applied, and is a schematic block diagram of an encoding apparatus for encoding a video signal/image signal.

[0078] Обращаясь к Фиг. 2, устройство 100 кодирования может быть выполнено с возможностью включения в себя средства 110 деления изображения, вычитателя 115, преобразователя 120, квантователя 130, обратного квантователя 140, обратного преобразователя 150, сумматора 155, фильтра 160, памяти 170, средства 180 межкадрового предсказания, средства 185 внутрикадрового предсказания и энтропийного кодера 190. Средство 180 межкадрового предсказания и средство 185 внутрикадрового предсказания могут вместе называться средством предсказания. Другими словами, средство предсказания может включать в себя средство 180 межкадрового предсказания и средство 185 внутрикадрового предсказания. Преобразователь 120, квантователь 130, обратный квантователь 140 и обратный преобразователь 150 могут быть включены в процессор остатка. Процессор остатка может дополнительно включать в себя вычитатель 115. В одном варианте осуществления, средство 110 деления изображения, вычитатель 115, преобразователь 120, квантователь 130, обратный квантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, средство 180 межкадрового предсказания, средство 185 внутрикадрового предсказания и энтропийный кодер 190 могут быть выполнены в виде одного компонента аппаратного обеспечения (например, кодера или процессора). Кроме того, память 170 может быть выполнена в виде компонента аппаратного обеспечения (например, памяти или цифрового запоминающего носителя информации) в варианте осуществления, и может включать в себя буфер декодированных картинок (DPB).[0078] Referring to FIG. 2, the encoding device 100 may be configured to include an image division means 110, a subtractor 115, a converter 120, a quantizer 130, an inverse quantizer 140, an inverse converter 150, an adder 155, a filter 160, a memory 170, an interframe prediction means 180, 185 intra-frame prediction and entropy encoder 190. The inter-frame prediction engine 180 and the intra-frame prediction engine 185 may be collectively referred to as a predictor. In other words, the predictor may include an inter-frame predictor 180 and an intra-frame predictor 185. Converter 120, quantizer 130, inverse quantizer 140, and inverse converter 150 may be included in the remainder processor. The remainder processor may further include a subtractor 115. In one embodiment, an image divider 110, a subtractor 115, a converter 120, a quantizer 130, an inverse quantizer 140, an inverse converter 150, an adder 155, a filter 160, an interframe predictor 180, and an interframe predictor 185. intra-frame prediction and entropy encoder 190 may be implemented as a single hardware component (eg, an encoder or processor). In addition, memory 170 may be implemented as a hardware component (eg, memory or digital storage medium) in an embodiment, and may include a decoded picture buffer (DPB).

[0079] Средство 110 деления изображения может делить входное изображение (или картинку или кадр), которое вводится в устройство 100 кодирования, на одну или несколько единиц обработки. Например, единица обработки может называться единицей кодирования (CU). В данном случае, единица кодирования может быть рекурсивно раздроблена от единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) на основании структуры квадродерева двоичного дерева (QTBT). Например, одна единица кодирования может быть разбита на множество единиц кодирования большей глубины на основании структуры квадродерева и/или структуры двоичного дерева. В данном случае, например, сначала может быть применена структура квадродерева, а затем может быть применена структура двоичного дерева. В качестве альтернативы, сначала может быть применена структура двоичного дерева. Процедура кодирования в соответствии с изобретением может быть выполнена на основании итоговой единицы кодирования, которая более не дробится. В данном случае, наибольшая единица кодирования может быть непосредственно использована в качестве итоговой единицы кодирования на основании эффективности кодирования в соответствии с характеристикой изображения или единица кодирования может быть рекурсивно раздроблена на единицы кодирования большей глубины, при необходимости. Соответственно, единица кодирования оптимального размера может быть использована в качестве итоговой единицы кодирования. В данном случае, процедура кодирования может включать в себя процедуру, такую как предсказание, преобразование или восстановление, которые будут описаны позже. В качестве другого примера, единица обработки может дополнительно включать в себя единицу предсказания (PU) или единицу преобразования (TU). В данном случае, каждая из единицы предсказания и единицы преобразования могут быть разделены или разбиты из каждой итоговой единицы кодирования. Единица предсказания может быть единицей для предсказания сэмпла, а единица преобразования может быть единицей, из которой извлекается коэффициент преобразования, и/или единицей, в которой остаточный сигнал извлекается из коэффициента преобразования.[0079] The image division means 110 may divide the input image (or picture or frame) that is input to the encoding device 100 into one or more processing units. For example, a processing unit may be called a coding unit (CU). In this case, the coding unit may be recursively split from a coding tree unit (CTU) or a largest coding unit (LCU) based on a quadtree binary tree (QTBT) structure. For example, one encoding unit may be divided into multiple encoding units of greater depth based on a quadtree structure and/or a binary tree structure. In this case, for example, the quadtree structure may be applied first, and then the binary tree structure may be applied. Alternatively, a binary tree structure can be applied first. The encoding procedure in accordance with the invention can be performed on the basis of a final encoding unit that is no longer subdivided. In this case, the largest encoding unit can be directly used as the final encoding unit based on the encoding efficiency according to the characteristic of the image, or the encoding unit can be recursively divided into coding units of greater depth as necessary. Accordingly, the optimal size coding unit can be used as the final coding unit. Here, the encoding procedure may include a procedure such as prediction, transformation or reconstruction, which will be described later. As another example, the processing unit may further include a prediction unit (PU) or a transformation unit (TU). In this case, each of the prediction units and the transformation units may be divided or split from each resulting encoding unit. The prediction unit may be a unit for predicting a sample, and the transform unit may be a unit from which a transform coefficient is extracted and/or a unit in which a residual signal is extracted from the transform coefficient.

[0080] Единица может быть использована взаимозаменяемым образом с блоком или зоной по обстоятельствам. В общем случае M×N блок может указывать набор сэмплов, сконфигурированных с помощью M столбцов и N строк или набор коэффициентов преобразования. В общем, сэмпл может указывать пиксель или значение пикселя, а может указывать только пиксель/значение пикселя компонента яркости или только пиксель/значение пикселя компонента цветности. В сэмпле, одна картинка (или изображение) может быть использована в качестве понятия, соответствующего пикселю или элементу изображения.[0080] The unit may be used interchangeably with a block or zone as appropriate. In general, an M×N block may indicate a set of samples configured with M columns and N rows, or a set of transform coefficients. In general, a sample may indicate a pixel or pixel value, or may indicate only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chrominance component. In a sample, one picture (or image) can be used as a concept corresponding to a pixel or image element.

[0081] Устройство 100 кодирования может формировать остаточный сигнал (остаточный блок или массив остаточных сэмплов) путем вычитания сигнала предсказания (предсказанного блока или массива сэмплов предсказания), который выводится средством 180 межкадрового предсказания или средством 185 внутрикадрового предсказания, из входного сигнала изображения (исходного блока или массива исходных сэмплов). Сформированный остаточный сигнал передается преобразователю 120. В данном случае, как проиллюстрировано, блок, в котором сигнал предсказания (блок предсказания или массив сэмплов предсказания) вычитается из входного сигнала изображения (исходного блока или массива исходных сэмплов) в устройстве 100 кодирования, может называться вычитателем 115. Средство предсказания может выполнять предсказание для целевого блока обработки (далее упоминается как текущий блок), и может формировать предсказанный блок, включающий в себя сэмплы предсказания, для текущего блока. Средство предсказания может определять, применяется ли внутрикадровое предсказание или межкадровое предсказание в текущем блоке или единице CU. Средство предсказания может формировать различные фрагменты информации касательно предсказания, такие как информацию о режиме предсказания, как будет описано позже в описании каждого режима предсказания, и может передавать информацию энтропийному кодеру 190. Информация касательно предсказания может быть кодирована в энтропийном кодере 190 и может быть выведена в форме битового потока.[0081] The encoding apparatus 100 may generate a residual signal (residual block or residual sample array) by subtracting a prediction signal (predicted block or prediction sample array) that is output by inter-frame prediction means 180 or intra-frame prediction means 185 from the input image signal (original block or an array of original samples). The generated residual signal is transmitted to the converter 120. Here, as illustrated, the block in which the prediction signal (prediction block or prediction sample array) is subtracted from the input image signal (source block or source sample array) in the encoder 100 may be called a subtractor 115 The prediction means may perform prediction for a target processing block (hereinafter referred to as the current block), and may generate a predicted block including prediction samples for the current block. The predictor may determine whether intra-prediction or inter-prediction is applied in the current block or CU. The prediction means may generate various pieces of information regarding the prediction, such as information about the prediction mode, as will be described later in the description of each prediction mode, and may transmit the information to the entropy encoder 190. The information regarding the prediction may be encoded in the entropy encoder 190 and may be output to bit stream form.

[0082] Средство 185 внутрикадрового предсказания может предсказывать текущий блок со ссылкой на сэмплы в текущей картинке. Сэмплы, на которые ссылаются, могут быть расположены по соседству с текущим блоком или могут находиться на расстоянии от текущего блока в зависимости от режима предсказания. При внутрикадровом предсказании режимы предсказания могут включать в себя множество не-угловых режимов и множество угловых режимов. Не-угловой режим может включать в себя режим DC и плоский режим, например. Угловой режим может включать в себя 33 угловых режима предсказания или 65 угловых режима предсказания, например, в зависимости от точной степени направления предсказания. В данном случае, угловые режимы предсказания, в количестве большем или меньшем чем 33 угловых режима предсказания или 65 угловых режимов предсказания, могут быть использованы в зависимости от конфигурации, например. Средство 185 внутрикадрового предсказания может определять режим предсказания, который применяется к текущему блоку, с использованием режима предсказания, который применяется к соседнему блоку.[0082] The intra-frame predictor 185 may predict the current block with reference to samples in the current picture. The referenced samples may be located adjacent to the current block or may be located at a distance from the current block depending on the prediction mode. In intra-frame prediction, prediction modes may include a plurality of non-angular modes and a plurality of angular modes. Non-angle mode may include DC mode and flat mode, for example. The angular mode may include 33 angular prediction modes or 65 angular prediction modes, for example, depending on the precise degree of the prediction direction. Here, angular prediction modes more or less than 33 angular prediction modes or 65 angular prediction modes may be used depending on the configuration, for example. The intra-frame prediction engine 185 may determine a prediction mode that is applied to the current block using a prediction mode that is applied to an adjacent block.

[0083] Средство 180 межкадрового предсказания может извлекать предсказанный блок для текущего блока на основании опорного блока (массива опорных сэмплов), указанного вектором движения в опорной картинке. В данном случае, для того чтобы уменьшить объем информации о движении, которая передается в режиме межкадрового предсказания, информация о движении может быть предсказана как единица блока, субблока или сэмпла на основании корреляции информации о движении между соседним блоком и текущим блоком. Информация о движении может включать в себя вектор движения и индекс опорной картинки. Информация о движении может дополнительно включать в себя информацию о направлении межкадрового предсказания (предсказание L0, предсказание L1, предсказание Bi). В случае межкадрового предсказания, соседний блок может включать в себя пространственный соседний блок в текущей картинке и временной соседний блок в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одной и той же или могут быть разными. Временной соседний блок может упоминаться в соответствии с названием, которое соответствует совместно-размещенному опорному блоку или совместно-размещенной CU (colCU). Опорная картинка, включающая в себя временной соседний блок, может упоминаться как совместно-размещенная картинка (ColPic). Например, средство 180 межкадрового предсказания может создавать список кандидатов на информацию о движении соседних блоков, и может формировать информацию, указывающую то, какой кандидат используется для извлечения вектора движения и/или индекса опорной картинки текущего блока. Межкадровое предсказание может быть выполнено на основании различных режимов предсказания. Например, в случае режима пропуска и режима слияния, средство 180 межкадрового предсказания может использовать информацию о движении соседнего блока в качестве информации о движении текущего блока. В случае режима пропуска, в отличие от режима слияния, остаточный сигнал может не передаваться. В случае режима предсказания информации о движении (MVP) вектор движения соседнего блока может быть указан путем сигнализации разности вектора движения.[0083] The inter-frame prediction engine 180 may extract a predicted block for a current block based on a reference block (reference sample array) indicated by a motion vector in the reference picture. Here, in order to reduce the amount of motion information that is transmitted in the inter-frame prediction mode, the motion information can be predicted as a unit of a block, sub-block or sample based on the correlation of the motion information between a neighboring block and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter-prediction direction information (L0 prediction, L1 prediction, Bi prediction). In the case of inter-frame prediction, the neighbor block may include a spatial neighbor block in the current picture and a temporal neighbor block in the reference picture. The reference picture including the reference block and the reference picture including the temporary adjacent block may be the same or may be different. A temporary neighbor block may be referred to by a name that corresponds to a co-located reference block or co-located CU (colCU). A reference picture including a temporary neighbor block may be referred to as a co-located picture (ColPic). For example, the inter-frame prediction engine 180 may generate a list of candidates for motion information of neighboring blocks, and may generate information indicating which candidate is used to extract the motion vector and/or reference picture index of the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the interframe prediction engine 180 may use the motion information of a neighboring block as the motion information of the current block. In the case of skip mode, unlike merge mode, the residual signal may not be transmitted. In the case of a motion information prediction (MVP) mode, the motion vector of an adjacent block may be indicated by signaling a motion vector difference.

[0084] Сигнал предсказания, сформированный средством 180 межкадрового предсказания или средством 185 внутрикадрового предсказания, может быть использован, чтобы формировать восстановленный сигнал или остаточный сигнал.[0084] The prediction signal generated by the inter-frame predictor 180 or the intra-frame predictor 185 can be used to generate a reconstructed signal or a residual signal.

[0085] Преобразователь 120 может формировать коэффициенты преобразования путем применения схемы преобразования к остаточному сигналу. Например, схема преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Корунена-Лоева (KLT), основанного на графе преобразования (GBT) или условного нелинейного преобразования (CNT). В данном случае, GBT означает преобразование, полученное из графа, если информация об отношении между пикселями представлена в качестве графа. CNT означает преобразование, полученное на основании сигнала предсказания, сформированного с использованием всех ранее восстановленных пикселей. Кроме того, процесс преобразования может быть применен к блокам пикселей одинакового размера квадратной формы или может быть применен к блокам переменных размеров неквадратной формы.[0085] Converter 120 can generate transform coefficients by applying a transform circuit to the residual signal. For example, the transform scheme may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Korunen-Loev transform (KLT), a graph-based transform (GBT), or a conditional nonlinear transform (CNT). Here, GBT means the transformation obtained from a graph if the relation information between pixels is represented as a graph. CNT means the transform obtained from the prediction signal generated using all the previously reconstructed pixels. Additionally, the transformation process can be applied to uniformly sized blocks of square shaped pixels, or can be applied to variable sized blocks of non-square shaped ones.

[0086] Квантователь 130 может квантовать коэффициенты преобразования и передавать их энтропийному кодеру 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию касательно квантованных коэффициентов преобразования) и выводить его в форме битового потока. Информация касательно квантованных коэффициентов преобразования может называться остаточной информацией. Квантователь 130 может переупорядочивать квантованные коэффициенты преобразования в форме блока в форму одномерного вектора на основании последовательности сканирования коэффициентов, и может формировать информацию касательно квантованных коэффициентов преобразования на основании квантованных коэффициентов преобразования в форме одномерного вектора. Энтропийный кодер 190 может выполнять различные способы кодирования, такие как экспоненциальное кодирование Голомба, контекстно-зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC) и контекстно-зависимое адаптивное бинарное арифметическое кодирование (CABAC). Энтропийный кодер 190 может кодировать информацию (например, значения элементов синтаксиса), которая необходима для восстановления видео/изображения, в дополнение к квантованным коэффициентам преобразования, вместе или отдельно. Кодированная информация (например, кодированная видео информация/информация изображения) может быть передана или сохранена в единице слоя абстракции сети (NAL) в форме битового потока. Битовый поток может быть передан через сеть или может быть сохранен на цифровом запоминающем носителе информации. В данном случае, сеть может включать в себя широковещательную сеть и/или сеть связи. Цифровой запоминающий носитель информации может включать в себя различные запоминающие носители информации, такие как USB, SD, CD, DVD, Blu-ray, HDD и SSD. Передатчик (не проиллюстрировано), который передает сигнал, который выводится энтропийным кодером 190, и/или хранилищем (не проиллюстрировано) для хранения сигнала, может быть выполнен в виде внутреннего/внешнего элемента устройства 100 кодирования, или передатчик может быть элементом энтропийного кодера 190.[0086] Quantizer 130 may quantize the transform coefficients and transmit them to entropy encoder 190. Entropy encoder 190 may encode the quantized signal (information regarding the quantized transform coefficients) and output it in the form of a bitstream. Information regarding the quantized transform coefficients may be called residual information. The quantizer 130 can reorder the quantized transform coefficients in block form into a one-dimensional vector form based on a coefficient scanning sequence, and can generate information regarding the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. Entropy encoder 190 can perform various encoding techniques, such as exponential Golomb coding, context-sensitive adaptive variable length coding (CAVLC), and context-sensitive adaptive binary arithmetic coding (CABAC). Entropy encoder 190 may encode information (eg, syntax element values) that is needed to reconstruct the video/image, in addition to the quantized transform coefficients, together or separately. Encoded information (eg, encoded video/image information) may be transmitted or stored in a network abstraction layer (NAL) unit in the form of a bit stream. The bitstream may be transmitted over a network or may be stored on a digital storage medium. Here, the network may include a broadcast network and/or a communications network. The digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD and SSD. A transmitter (not illustrated) that transmits a signal that is output by the entropy encoder 190 and/or a store (not illustrated) for storing the signal may be an internal/external element of the encoding device 100, or the transmitter may be an element of the entropy encoder 190.

[0087] Квантованные коэффициенты преобразования, которые выводятся квантователем 130, могут быть использованы, чтобы формировать сигнал предсказания. Например, остаточный сигнал может быть восстановлен путем применения обратного квантования и обратного преобразования к квантованным коэффициентам преобразования посредством обратного квантователя 140 и обратного преобразователя 150 в цикле. Сумматор 155 может складывать восстановленный остаточный сигнал с сигналом предсказания, который выводится средством 180 межкадрового предсказания или средством 185 внутрикадрового предсказания, так что может быть сформирован восстановленный сигнал (восстановленная картинка, восстановленный блок или массив восстановленных сэмплов). Предсказанный блок может быть использован в качестве восстановленного блока, если отсутствует остаток для целевого блока обработки, как в случае, когда применялся режим пропуска. Сумматор 155 может называться средством восстановления или генератором блока восстановления. Сформированный восстановленный сигнал может быть использован для внутрикадрового предсказания следующего целевого блока обработки текущей картинки, и может быть использован для межкадрового предсказания следующей картинки посредством фильтрации, как будет описано позже.[0087] The quantized transform coefficients that are output by quantizer 130 can be used to generate a prediction signal. For example, the residual signal can be recovered by applying inverse quantization and inverse transform to the quantized transform coefficients via an inverse quantizer 140 and an inverse transformer 150 in a loop. The adder 155 may add the reconstructed residual signal with a prediction signal that is output by the inter-picture predictor 180 or the intra-picture predictor 185 so that a reconstructed signal (a reconstructed picture, a reconstructed block, or an array of reconstructed samples) can be generated. The predicted block can be used as a reconstructed block if there is no remainder for the target processing block, as is the case when the skip mode was used. The adder 155 may be referred to as a restorer or a restorer generator. The generated reconstructed signal can be used for intra-frame prediction of the next target processing block of the current picture, and can be used for inter-frame prediction of the next picture by filtering, as will be described later.

[0088] Фильтр 160 может улучшать субъективное/объективное качество картинки путем применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке. Модифицированная восстановленная картинка может быть сохранена в DPB 170. Различные способы фильтрации могут включать в себя фильтрацию устранения блочности, адаптивное смещение сэмпла, адаптивный контурный фильтр и двусторонний фильтр, например. Фильтр 160 может формировать различные фрагменты информации для фильтрации, как будет описано позже в описании каждого способа фильтрации, и может передавать их энтропийному кодеру 190. Информация о фильтрации может быть кодирована энтропийным кодером 190 и выведена в форме битового потока.[0088] Filter 160 may improve subjective/objective picture quality by applying filtering to the reconstructed signal. For example, filter 160 may generate a modified reconstructed picture by applying various filtering techniques to the reconstructed picture. The modified reconstructed picture can be stored in the DPB 170. Various filtering methods may include deblocking filtering, adaptive sample shifting, adaptive contour filter and bidirectional filter, for example. Filter 160 may generate various pieces of filtering information, as will be described later in the description of each filtering method, and may transmit them to entropy encoder 190. The filtering information may be encoded by entropy encoder 190 and output in the form of a bitstream.

[0089] Модифицированная восставленная картинка, которая передается в DPB 170, может быть использована в качестве опорной картинки в средстве 180 межкадрового предсказания. Устройство кодирования может не допускать несоответствия предсказания в устройстве 100 кодирования и устройстве декодирования и улучшать эффективность кодирования, если применяется межкадровое предсказание.[0089] The modified reconstructed picture that is transmitted to the DPB 170 can be used as a reference picture in the inter-frame predictor 180. The encoding apparatus can prevent prediction mismatch between the encoding apparatus 100 and the decoding apparatus and improve encoding efficiency if inter-frame prediction is applied.

[0090] DPB 170 может хранить модифицированную восстановленную картинку для того, чтобы использовать модифицированную восстановленную картинку в качестве опорной картинки в средстве 180 межкадрового предсказания.[0090] The DPB 170 may store the modified reconstructed picture in order to use the modified reconstructed picture as a reference picture in the inter-frame predictor 180.

[0091][0091]

[0092] Фиг. 3 является вариантом осуществления, к которому применяется изобретение, и является принципиальной структурной схемой устройства декодирования для декодирования видеосигнала/сигнала изображения.[0092] FIG. 3 is an embodiment to which the invention is applied, and is a circuit block diagram of a decoding apparatus for decoding a video/image signal.

[0093] Обращаясь к Фиг. 3, устройство 200 декодирования может быть выполнено с возможностью включения энтропийного декодера 210, обратного квантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, памяти 250, средства 260 межкадрового предсказания и средства 265 внутрикадрового предсказания. Средство 260 межкадрового предсказания и средство 265 внутрикадрового предсказания могут вместе называться средством предсказания. Т.е. средство предсказания может включать в себя средство 260 межкадрового предсказания и средство 265 внутрикадрового предсказания. Обратный квантователь 220 и обратный преобразователь 230 могут вместе называться процессором остатка. Т.е. процессор остатка может включать в себя обратный квантователь 220 и обратный преобразователь 230. Энтропийный декодер 210, обратный квантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, средство 260 межкадрового предсказания и средство 265 внутрикадрового предсказания могут быть выполнены в виде одного компонента аппаратного обеспечения (например, декодера или процессора) в соответствии с вариантом осуществления. Кроме того, память 170 может быть выполнена в виде компонента аппаратного обеспечения (например, памяти или цифрового запоминающего носителя информации) в варианте осуществления и может включать в себя буфер декодированных картинок (DPB).[0093] Referring to FIG. 3, the decoding apparatus 200 may be configured to include an entropy decoder 210, an inverse quantizer 220, an inverse converter 230, an adder 235, a filter 240, a memory 250, an inter-frame predictor 260, and an intra-frame predictor 265. The inter-frame predictor 260 and the intra-frame predictor 265 may be collectively referred to as a predictor. Those. the predictor may include an inter-frame predictor 260 and an intra-frame predictor 265. The inverse quantizer 220 and the inverse transformer 230 may be collectively referred to as a remainder processor. Those. the remainder processor may include an inverse quantizer 220 and an inverse transformer 230. The entropy decoder 210, the inverse quantizer 220, the inverse transformer 230, the adder 235, the filter 240, the inter-frame predictor 260, and the intra-frame predictor 265 may be implemented as a single hardware component. (eg, a decoder or processor) in accordance with an embodiment. In addition, memory 170 may be implemented as a hardware component (eg, memory or digital storage medium) in an embodiment and may include a decoded picture buffer (DPB).

[0094] Когда вводится битовый поток, включающий в себя видеоинформацию/информацию изображения, устройство 200 декодирования может восстанавливать изображение в соответствии с процессом обработки видеоинформации/информации изображения в устройстве кодирования на Фиг. 2. Например, устройство 200 декодирования может выполнять декодирование с использованием единицы обработки, которая применяется в устройстве кодирования. Соответственно, единица обработки для декодирования может быть единицей кодирования, например. Единица кодирования может быть раздроблена от единицы дерева кодирования или наибольшей единицы кодирования в зависимости от структуры квадродерева и/или структуры двоичного дерева. Кроме того, восстановленный сигнал изображения, который декодируется и выводится посредством устройства 200 декодирования, может быть воспроизведен посредством устройства воспроизведения.[0094] When a bitstream including video information/image information is input, the decoding apparatus 200 can reconstruct the image according to the processing process of the video information/image information in the encoding apparatus in FIG. 2. For example, the decoding apparatus 200 may perform decoding using a processing unit that is applied in the encoding apparatus. Accordingly, the processing unit for decoding may be an encoding unit, for example. A coding unit may be split from a coding tree unit or a largest coding unit depending on the quadtree structure and/or binary tree structure. In addition, the reconstructed image signal that is decoded and output by the decoding device 200 can be reproduced by the playback device.

[0095] Устройство 200 декодирования может принимать сигнал, который выводится устройством кодирования на Фиг. 1, в форме битового потока. Принятый сигнал может быть декодирован посредством энтропийного декодера 210. Например, энтропийный декодер 210 может извлекать информацию (например, видеоинформацию/информацию изображения) для восстановления изображения (или восстановления картинки) путем анализа битового потока. Например, энтропийный декодер 210 может декодировать информацию в битовом потоке на основании способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC или CABAC, и может выводить значение элемента синтаксиса для восстановления изображения или квантованные значения коэффициентов преобразования в отношении остатка. Более конкретно, в способе энтропийного декодирования CABAC, бин, соответствующий каждому элементу синтаксиса, может быть принят из битового потока, модель контекста может быть определена с использованием информации о целевом элементе синтаксиса декодирования и информации декодирования соседнего или целевого блока декодирования или информации символа/бина, декодированного на предыдущем этапе, вероятность вхождения бина может быть предсказана на основании определенной модели контекста, и символ, соответствующий значению каждого элемента синтаксиса, может быть сформирован путем выполнения арифметического декодирования над бином. В данном случае, в способе энтропийного декодирования CABAC, после того как определяется модель контекста, модель контекста может быть обновлена путем использования информации символа/бина, декодированного для модели контекста следующего символа/бина. Информация касательно предсказания из информации, декодированной в энтропийном декодере 2110, может быть предоставлена средству предсказания (средству 260 межкадрового предсказания и средству 265 внутрикадрового предсказания). Информация о параметре, связанная с остаточным значением, над которым было выполнено энтропийное декодирование в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования, может введена в обратный квантователь 220. Кроме того, информация касательно фильтрации из информации, декодированной энтропийным декодером 210, может быть предоставлена фильтру 240. Между тем, приемник (не проиллюстрировано), который принимает сигнал, который выводится устройством кодирования, может быть дополнительно выполнен в виде внутреннего/внешнего элемента устройства 200 декодирования или приемник может быть элементом энтропийного декодера 210.[0095] The decoding apparatus 200 may receive a signal that is output by the encoding apparatus in FIG. 1, in the form of a bit stream. The received signal may be decoded by the entropy decoder 210. For example, the entropy decoder 210 may extract information (eg, video information/image information) for image reconstruction (or picture reconstruction) by analyzing the bit stream. For example, entropy decoder 210 may decode information in the bit stream based on an encoding method such as exponential Golomb coding, CAVLC, or CABAC, and may output the value of a syntax element for image restoration or quantized values of transform coefficients with respect to the remainder. More specifically, in the CABAC entropy decoding method, a bin corresponding to each syntax element can be received from a bitstream, a context model can be determined using information about the target decoding syntax element and decoding information of an adjacent or target decoding block or symbol/bin information. decoded in the previous step, the occurrence probability of a bin can be predicted based on a certain context model, and a symbol corresponding to the meaning of each syntax element can be generated by performing arithmetic decoding on the bin. Here, in the CABAC entropy decoding method, after a context model is determined, the context model can be updated by using the symbol/bin information decoded for the context model of the next symbol/bin. Information regarding prediction from information decoded in the entropy decoder 2110 may be provided to the prediction means (inter-frame prediction means 260 and intra-frame prediction means 265). Parameter information associated with the residual value on which entropy decoding has been performed in the entropy decoder 210, i.e. quantized transform coefficients may be input to the inverse quantizer 220. Moreover, information regarding filtering from the information decoded by the entropy decoder 210 may be provided to the filter 240. Meanwhile, a receiver (not illustrated) that receives a signal that is output by the encoding device may be additionally implemented as an internal/external element of the decoding device 200 or the receiver can be an element of the entropy decoder 210.

[0096] Обратный квантователь 220 может обратно квантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Обратный квантователь 220 может переупорядочивать квантованные коэффициенты преобразования в форму двумерного блока. В данном случае, переупорядочивание может быть выполнено на основании последовательности сканирования коэффициентов, выполненной в устройстве кодирования. Обратный квантователь 220 может выполнять обратное квантование над квантованными коэффициентами преобразования с использованием параметра квантования (например, информации о размере шага квантования) и может получать коэффициенты преобразования.[0096] Inverse quantizer 220 may inversely quantize the quantized transform coefficients and output the transform coefficients. Inverse quantizer 220 may reorder the quantized transform coefficients into a two-dimensional block form. In this case, reordering can be performed based on a coefficient scanning sequence performed in the encoder. Inverse quantizer 220 may perform inverse quantization on the quantized transform coefficients using a quantization parameter (eg, quantization step size information) and may obtain the transform coefficients.

[0097] Обратный преобразователь 230 может выводить остаточный сигнал (остаточный блок или массив остаточных сэмплов) путем применения обратного преобразования к коэффициентам преобразования.[0097] The inverse transform 230 may output a residual signal (a residual block or an array of residual samples) by applying an inverse transform to the transform coefficients.

[0098] Средство предсказания может выполнять предсказание текущего блока и может формировать предсказанный блок, включающий в себя сэмплы предсказания для текущего блока. Средство предсказания может определять, применяется ли внутрикадровое предсказание или межкадровое предсказание к текущему блоку на основании информации касательно предсказания, которая выводится энтропийным декодером 210, и может определять подробный режим внутрикадрового/межкадрового предсказания.[0098] The predictor may perform prediction of the current block and may generate a predicted block including prediction samples for the current block. The predictor can determine whether intra-prediction or inter-prediction is applied to the current block based on the prediction information that is output by the entropy decoder 210, and can determine a detailed intra/inter-prediction mode.

[0099] Средство 265 внутрикадрового предсказания может предсказывать текущий блок со ссылкой на сэмплы в текущей картинке. Сэмплы, на которые ссылаются, могут быть расположены по соседству от текущего блока или могут находиться на расстоянии от текущего блока в зависимости от режима предсказания. При внутрикадровом предсказании, режимы предсказания могут включать в себя множество не-угловых режимов и множество угловых режимов. Средство 265 внутрикадрового предсказания может определять режим предсказания, который применяется к текущему блоку, путем использования режима предсказания, который применяется к соседнему блоку.[0099] The intra-frame predictor 265 may predict the current block with reference to samples in the current picture. The referenced samples may be located adjacent to the current block or may be located at a distance from the current block depending on the prediction mode. In intra-frame prediction, prediction modes may include a plurality of non-angular modes and a plurality of angular modes. The intra-frame prediction engine 265 may determine the prediction mode that is applied to the current block by using the prediction mode that is applied to the adjacent block.

[0100] Средство 260 межкадрового предсказания может извлекать предсказанный блок для текущего блока на основании опорного блока (массива опорных сэмплов), указанного вектором движения в опорной картинке. В данном случае, для того чтобы уменьшить объем информации о движении, которая передается в режиме межкадрового предсказания, информация о движении может быть предсказана как единица блока, субблока или сэмпла на основании корреляции информации о движении между соседним блоком и текущим блоком. Информация о движении может включать в себя вектор движения и индекс опорной картинки. Информация о движении может дополнительно включать в себя информацию о направлении межкадрового предсказания (предсказание L0, предсказание L1, предсказание Bi). В случае межкадрового предсказания, соседний блок может включать в себя пространственный соседний блок в текущей картинке и временной соседний блок в опорной картинке. Например, средство 260 межкадрового предсказания может конфигурировать список кандидатов на информацию о движении соседних блоков, и может извлекать вектор движения и/или индекс опорной картинки текущего блока на основании принятой информации о выборе кандидата. Межкадровое предсказание может быть выполнено на основании различных режимов предсказания. Информация касательно предсказания может включать в себя информацию, указывающую режим межкадрового предсказания текущего блока.[0100] The inter-frame predictor 260 may extract a predicted block for the current block based on a reference block (reference sample array) indicated by a motion vector in the reference picture. Here, in order to reduce the amount of motion information that is transmitted in the inter-frame prediction mode, the motion information can be predicted as a unit of a block, sub-block or sample based on the correlation of the motion information between a neighboring block and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter-prediction direction information (L0 prediction, L1 prediction, Bi prediction). In the case of inter-frame prediction, the neighbor block may include a spatial neighbor block in the current picture and a temporal neighbor block in the reference picture. For example, the inter-frame prediction engine 260 may configure a list of candidates for motion information of neighboring blocks, and may extract a motion vector and/or reference picture index of the current block based on the received candidate selection information. Inter-frame prediction can be performed based on various prediction modes. The prediction information may include information indicating an inter-prediction mode of the current block.

[0101] Сумматор 235 может формировать восстановленный сигнал (восстановленную картинку, восстановленный блок или массив восстановленных сэмплов) путем сложения полученного остаточного сигнала с сигналом предсказания (предсказанным блоком или массивом сэмплов предсказания), который выводится средством 260 межкадрового предсказания или средством 265 внутрикадрового предсказания. Предсказанный блок может быть использован в качестве восстановленного блока, если отсутствует остаток для целевого блока обработки, как в случае, когда применялся режим пропуска.[0101] The adder 235 may generate a reconstructed signal (reconstructed picture, reconstructed block, or reconstructed sample array) by adding the resulting residual signal with a prediction signal (predicted block or prediction sample array) that is output by inter-frame predictor 260 or intra-frame predictor 265. The predicted block can be used as a reconstructed block if there is no remainder for the target processing block, as is the case when the skip mode was used.

[0102] Сумматор 235 может называться средством восстановления или генератором восстановленного блока. Сформированный восстановленный сигнал может быть использован для внутрикадрового предсказания следующего целевого блока обработки в текущей картинке, и может быть использован для межкадрового предсказания следующей картинки посредством фильтрации, как будет описано позже.[0102] The adder 235 may be referred to as a restorer or a reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next processing target block in the current picture, and can be used for inter-frame prediction of the next picture by filtering, as will be described later.

[0103] Фильтр 240 может улучшать субъективное/объективное качество картинки путем применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке и может передавать модифицированную восстановленную картинку DPB 250. Различные способы фильтрации могут включать в себя фильтрацию устранения блочности, адаптивное смещение сэмпла SAO, адаптивный контурный фильтр ALF и двусторонний фильтр, например.[0103] Filter 240 may improve subjective/objective picture quality by applying filtering to the reconstructed signal. For example, filter 240 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and may transmit the modified reconstructed picture to DPB 250. Various filtering methods may include deblocking filtering, adaptive sample offset SAO, adaptive loop filter ALF, and a two-way filter. For example.

[0104] Восставленная (модифицированная) картинка, которая передается в DPB 250, может быть использована в качестве опорной картинки в средстве 260 межкадрового предсказания.[0104] The reconstructed (modified) picture that is transmitted to the DPB 250 can be used as a reference picture in the inter-frame predictor 260.

[0105] В изобретении, варианты осуществления, описанные в фильтре 160, средстве 180 межкадрового предсказания и средстве 185 внутрикадрового предсказания устройства 100 кодирования, могут быть применены к фильтру 240, средству 260 межкадрового предсказания и средству 265 внутрикадрового предсказания устройства 200 декодирования, соответственно, идентично или в соответствии.[0105] In the invention, the embodiments described in the filter 160, inter-predictor 180 and intra-predictor 185 of the encoding device 100 can be applied to the filter 240, inter-predictor 260 and intra-predictor 265 of the decoding device 200, respectively, identically or in accordance.

[0106][0106]

[0107] Фиг. 4 показывает пример структурной схемы системы потоковой передачи контента в соответствии с вариантом осуществления изобретения.[0107] FIG. 4 shows an example of a block diagram of a content streaming system in accordance with an embodiment of the invention.

[0108] Система потоковой передачи контента, к которой применяется изобретение, может в значительной степени включать в себя сервер 410 кодирования, сервер 420 потоковой передачи, веб-сервер 430, хранилище 440 мультимедиа, устройство 450 пользователя и мультимедийное устройство 460 ввода.[0108] A content streaming system to which the invention applies may largely include an encoding server 410, a streaming server 420, a web server 430, a media storage 440, a user device 450, and a media input device 460.

[0109] Сервер 410 кодирования может сжимать контент, который вводится от мультимедийных устройств ввода, таких как смартфон, камера, видеокамера и т.д., в цифровые данные, чтобы сформировать битовый поток и передать его серверу 420 потоковой передачи. В качестве другого примера, когда мультимедийные устройства 460 ввода, такие как смартфон, камера или видеокамера, непосредственно формируют битовый поток, сервер 410 кодирования может быть опущен.[0109] The encoding server 410 may compress content that is input from multimedia input devices such as a smartphone, camera, camcorder, etc. into digital data to form a bitstream and transmit it to the streaming server 420. As another example, when multimedia input devices 460 such as a smartphone, camera, or video camera directly generate the bitstream, the encoding server 410 may be omitted.

[0110] Битовый поток может быть сформирован способом кодирования или способом формирования битового потока, к которому применяется изобретение, и сервер 420 потоковой передачи может временно сохранять битовый поток в процессе передачи или приема битового потока.[0110] The bitstream may be generated by an encoding method or a bitstream generation method to which the invention is applied, and the streaming server 420 may temporarily store the bitstream during the process of transmitting or receiving the bitstream.

[0111] Сервер 420 потоковой передачи передает мультимедийные данные устройству 450 пользователя по запросу пользователя через веб-сервер 430, и веб-сервер 430 служит в качестве посредника для информирования пользователя о том, какая услуга присутствует. Когда пользователь запрашивает требуемую услугу через веб-сервер 430, веб-сервер 430 доставляет запрос серверу 420 потоковой передачи, и сервер 420 потоковой передачи передает мультимедийные данные пользователю. В это время, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае сервер управления служит для управления командами/ответами между устройствами в системе потоковой передачи контента.[0111] The streaming server 420 transmits media data to the user device 450 upon the user's request through the web server 430, and the web server 430 serves as an intermediary to inform the user what service is present. When a user requests a desired service through the web server 430, the web server 430 delivers the request to the streaming server 420, and the streaming server 420 transmits the media data to the user. At this time, the content streaming system may include a separate control server, in which case the control server serves to manage commands/responses between devices in the content streaming system.

[0112] Сервер 420 потоковой передачи может принимать контент от хранилища 440 мультимедиа и/или сервера 410 кодирования. Например, сервер 420 потоковой передачи может принимать контент в режиме реального времени от сервера 410 кодирования. В данном случае, для того чтобы обеспечить непрерывную услугу потоковой передачи, сервер 420 потоковой передачи может сохранять битовый поток в течение предварительно определенного времени.[0112] The streaming server 420 may receive content from the media storage 440 and/or the encoding server 410. For example, the streaming server 420 may receive content in real time from the encoding server 410. Here, in order to provide a continuous streaming service, the streaming server 420 may store the bit stream for a predetermined time.

[0113] Например, устройство 450 пользователя может включать в себя мобильный телефон, смартфон, компьютер класса лэптоп, терминал для цифрового вещания, персональный цифровой помощник PDA, портативный мультимедийный проигрыватель PMP, терминал навигации, плоский ПК, планшетный ПК, ультрабук, носимое устройство (например, интеллектуальные наручные часы), интеллектуальные очки, шлем-дисплей HMD, цифровой ТВ, настольный компьютер и цифровую вывеску.[0113] For example, the user device 450 may include a mobile phone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant PDA, a portable media player PMP, a navigation terminal, a flat PC, a tablet PC, an ultrabook, a wearable device ( e.g. smart wristwatch), smart glasses, head-mounted display (HMD), digital TV, desktop computer and digital signage.

[0114] Каждый сервер в системе потоковой передачи контента может работать как распределенный сервер, и в этом случае данные, принятые от каждого сервера, могут быть обработаны распределенным образом.[0114] Each server in a content streaming system may operate as a distributed server, in which case data received from each server may be processed in a distributed manner.

[0115][0115]

[0116] Фиг. 5 показывает пример структурной схемы устройства для обработки видеосигнала в соответствии с вариантом осуществления изобретения. Устройство обработки видеосигнала может соответствовать устройству кодирования 100 на Фиг. 2 или устройству декодирования 200 на Фиг. 3.[0116] FIG. 5 shows an example of a block diagram of a video signal processing apparatus according to an embodiment of the invention. The video signal processing apparatus may correspond to the encoding apparatus 100 in FIG. 2 or decoder 200 in FIG. 3.

[0117] Устройство 500 обработки видеосигнала в соответствии с вариантом осуществления изобретения может включать в себя память 520 для хранения видеосигнала, и процессор 510 для обработки видеосигнала, при том будучи объединенным с памятью 520.[0117] A video signal processing apparatus 500 in accordance with an embodiment of the invention may include a memory 520 for storing a video signal, and a processor 510 for processing a video signal, while being combined with the memory 520.

[0118] Процессор 510 в соответствии с вариантом осуществления изобретения может быть выполнен в виде по меньшей мере одной схемы обработки для обработки видеосигнала, и может обрабатывать видеосигнал путем исполнения инструкций для кодирования или декодирования видеосигнала. Т.е. процессор 510 может кодировать исходный видеосигнал или декодировать кодированный видеосигнал путем исполнения способов кодирования или декодирования, описанных ниже.[0118] The processor 510 in accordance with an embodiment of the invention may be configured as at least one processing circuit for processing a video signal, and may process the video signal by executing instructions for encoding or decoding the video signal. Those. processor 510 may encode the original video signal or decode the encoded video signal by executing the encoding or decoding methods described below.

[0119][0119]

[0120] Фиг. 6 является примером структуры дробления блока в соответствии с вариантом осуществления изобретения, Фиг. с 6a по 6d иллюстрируют примеры структур дробления блока в соответствии с квадродеревом (QT), двоичным деревом (BT), тернарным деревом (TT) и ассиметричным деревом (AT).[0120] FIG. 6 is an example of a block crushing structure according to an embodiment of the invention, FIG. 6a to 6d illustrate examples of block splitting structures according to quadtree (QT), binary tree (BT), ternary tree (TT), and asymmetric tree (AT).

[0121] При кодировании видео один блок может быть раздроблен на основании QT. Также один субблок, раздробленный посредством QT, может быть дополнительно рекурсивно раздроблен с использованием QT. Листовой блок, который более не дробиться в соответствии с QT, может быть раздроблен посредством по меньшей мере одного из BT, TT или AT. BT может иметь два типа дробления: горизонтальное BT (2N×N, 2N×N) и вертикальное BT (N×2N, N×2N). TT может иметь два типа дробления: горизонтальное TT (2N×1/2N, 2N×N, 2N×1/2N) и вертикальное TT (1/2N×2N, N×2N, 1/2N×2N). AT может иметь четыре типа дробления: горизонтальное верхнее AT (2N×1/2N, 2N×3/2N), горизонтальное нижнее AT (2N×3/2N, 2N×1/2N), вертикальное левое AT (1/2N×2N, 3/2N×2N), вертикальное правое AT (3/2N×2N, 1/2N×2N). Каждое из BT, TT, AT может быть дополнительно рекурсивно раздроблено с использованием BT, TT, AT.[0121] When encoding video, one block may be split based on QT. Also, one sub-block split by QT can be further split recursively using QT. A sheet block that is no longer crushable according to QT may be crushed by at least one of BT, TT or AT. BT can have two types of crushing: horizontal BT (2N×N, 2N×N) and vertical BT (N×2N, N×2N). TT can have two types of crushing: horizontal TT (2N×1/2N, 2N×N, 2N×1/2N) and vertical TT (1/2N×2N, N×2N, 1/2N×2N). AT can have four crushing types: horizontal top AT (2N×1/2N, 2N×3/2N), horizontal bottom AT (2N×3/2N, 2N×1/2N), vertical left AT (1/2N×2N , 3/2N×2N), vertical right AT (3/2N×2N, 1/2N×2N). Each of BT, TT, AT can be further recursively split using BT, TT, AT.

[0122] Фиг. 6A показывает примерное разбиение QT. Блок A может быть разбит на четыре субблока A0, A1, A2 и A3 посредством QT. Субблок A1 может быть разбит на четыре субблока B0, B1, B2 и B3 вновь посредством QT.[0122] FIG. 6A shows an example QT partition. Block A can be divided into four sub-blocks A0, A1, A2 and A3 by QT. Subblock A1 can be divided into four subblocks B0, B1, B2 and B3 again by QT.

[0123] Фиг. 6B показывает пример разбиения BT. Блок B3, который более не дробиться посредством QT, может быть раздроблен на вертикальное BT (C0, С1) или горизонтальное BT (D0, D1). Как блок C0, каждый субблок может быть дополнительно рекурсивно раздроблен в форме горизонтального BT (E0, E1) или вертикального BT (F0, F1).[0123] FIG. 6B shows an example of BT partitioning. Block B3, which is no longer split by QT, can be split into a vertical BT (C0, C1) or a horizontal BT (D0, D1). Like block C0, each subblock can be further recursively subdivided into the form of horizontal BT (E0, E1) or vertical BT (F0, F1).

[0124] Фиг. 6C показывает пример разбиения TT. Блок B3, который более не дробится посредством QT, может быть раздроблен на вертикальное TT (C0, C1, C3) или горизонтальное TT (D0, D1, D2). Как блок C1, каждый субблок может быть дополнительно рекурсивно раздроблен в форме горизонтального TT (E0, E1, E2) или вертикального TT (F0, F1, F2).[0124] FIG. 6C shows an example of TT partitioning. Block B3, which is no longer split by QT, can be split into a vertical TT (C0, C1, C3) or a horizontal TT (D0, D1, D2). Like block C1, each subblock can be further recursively subdivided into the form of a horizontal TT (E0, E1, E2) or a vertical TT (F0, F1, F2).

[0125] Фиг. 6D показывает пример разбиения AT. Блок B3, который более не дробится посредством QT, может быть раздроблен на вертикальное AT (C0, C1) или горизонтальное AT (D0, D1). Как блок C1, каждый субблок может быть дополнительно рекурсивно раздроблен в форме горизонтального AT (E0, E1) или вертикального TT (F0, F1).[0125] FIG. 6D shows an example of AT partitioning. Block B3, which is no longer split by QT, can be split into a vertical AT (C0, C1) or a horizontal AT (D0, D1). Like block C1, each subblock can be further recursively subdivided into the form of horizontal AT (E0, E1) or vertical TT (F0, F1).

[0126] Между тем, BT, TT и AT разбиения могут быть объединены. Например, субблок, раздробленный посредством BT, может быть раздроблен посредством TT или AT. В дополнение, субблок, раздробленный посредством TT, может быть раздроблен посредством BT или AT. Субблок, раздробленный посредством AT, может быть раздроблен посредством BT или TT. Например, после горизонтального дробления BT, каждый субблок может быть раздроблен на вертикальное BT, или после вертикального дробления BT, каждый субблок может быть раздроблен на горизонтальное BT. Два типа способов дробления имеют разную очередность дробления, но итоговая форма дробления является одной и той же.[0126] Meanwhile, BT, TT and AT partitions can be combined. For example, a subblock fragmented by BT may be fragmented by TT or AT. In addition, a subblock fragmented by TT may be fragmented by BT or AT. A subblock split by AT may be split by BT or TT. For example, after horizontal BT splitting, each sub-block can be split into a vertical BT, or after vertical BT splitting, each sub-block can be split into a horizontal BT. The two types of crushing methods have different crushing order, but the final crushing form is the same.

[0127] Кроме того, когда блок дробится, очередность, в которой осуществляется поиск блока, может быть определена по-разному. В целом, операция поиска выполняется слева направо и сверху вниз. Поиск блока может означать очередность определения, дробить ли дополнительно каждый субблок, или очередность кодирования соответствующих субблоков, когда блок более не дробится, или очередность поиска, когда субблоки ссылаются на информацию других соседних блоков.[0127] In addition, when a block is split, the order in which the block is searched may be determined in different ways. In general, the search operation is performed from left to right and top to bottom. Block searching can mean a order of determining whether to further split each subblock, or a coding order of corresponding subblocks when the block is no longer split, or a search order where subblocks refer to information from other adjacent blocks.

[0128][0128]

[0129] Фиг. 7 и 8 являются соответственно основанной на межкадровом предсказании процедурой кодирования видео/изображения и средством межкадрового предсказания в устройстве кодирования в соответствии с вариантом осуществления изобретения.[0129] FIG. 7 and 8 are respectively an inter-frame prediction-based video/image encoding procedure and an inter-frame prediction means in an encoding apparatus according to an embodiment of the invention.

[0130] Устройство 100 кодирования выполняет межкадровое предсказание текущего блока (S710). Устройство 100 кодирования может извлекать режим межкадрового предсказания и информацию о движении текущего блока, и может формировать сэмплы предсказания текущего блока. В данном случае, процедуры определения режима межкадрового предсказания, извлечения информации о движении и формирования сэмпла предсказания могут быть выполнены одновременно, и любая из процедур может быть выполнена перед другой процедурой. Например, средство 180 межкадрового предсказания устройства 100 кодирования может включать в себя блок 181 определения режима предсказания, блок 182 извлечения информации о движении или блок 183 извлечения сэмпла предсказания. Блок 181 определения режима предсказания может определять режим предсказания для текущего блока. Блок 182 извлечения информации о движении может извлекать информацию о движении текущего блока. Блок 183 извлечения сэмпла предсказания может извлекать сэмплы предсказания текущего блока. Например, средство 180 межкадрового предсказания устройства 100 кодирования может осуществлять поиск заданной зоны (зона поиска) в опорных картинках в отношении блока, аналогичного текущему блоку, посредством оценки движения, и может извлекать опорный блок с минимальной разностью или разностью заданного эталона или меньше по отношению к текущему блоку. Средство 180 межкадрового предсказания может извлекать индекс опорной картинки, указывающий опорную картинку, в которой располагается опорный блок, на основании опорного блока, и может извлекать вектор движения на основании разницы в местоположении между опорным блоком и текущим блоком. Устройство 100 кодирования может определять режим, который применяется к текущему блоку из различных режимов предсказания. Устройство кодирования может сравнивать стоимости RD для различных режимов предсказания, и может определять оптимальный режим предсказания для текущего блока.[0130] The encoding device 100 performs inter-prediction of the current block (S710). The encoding device 100 can extract inter-prediction mode and motion information of the current block, and can generate prediction samples of the current block. In this case, the procedures for determining the inter-frame prediction mode, extracting motion information and generating a prediction sample can be performed simultaneously, and any of the procedures can be performed before the other procedure. For example, the interframe prediction means 180 of the encoding device 100 may include a prediction mode determining unit 181, a motion information extracting unit 182, or a prediction sample extracting unit 183. The prediction mode determining unit 181 may determine the prediction mode for the current block. The motion information extracting unit 182 can extract motion information of the current block. The prediction sample extractor 183 may extract prediction samples of the current block. For example, the inter-picture predictor 180 of the encoding device 100 can search for a predetermined area (search area) in reference pictures for a block similar to the current block by motion estimation, and can extract a reference block with a minimum difference or a difference of a predetermined reference or less with respect to the current block. The inter-picture predictor 180 may extract a reference picture index indicating a reference picture in which a reference block is located based on the reference block, and may extract a motion vector based on a difference in location between the reference block and the current block. The encoding device 100 may determine a mode that is applied to the current block from various prediction modes. The encoder may compare RD costs for different prediction modes, and may determine the optimal prediction mode for the current block.

[0131] Например, если применяется режим пропуска или режим слияния к текущему блоку, то устройство 100 кодирования может конфигурировать список кандидатов на слияние, который будет описан позже, и может извлекать опорный блок с минимальной разностью или разность заданного эталона или меньше по отношению к текущему блоку среди опорных блоков, указанных кандидатами на слияние, которые включены в список кандидатов на слияние. В данном случае, может быть выбран кандидат на слияние, ассоциированный с извлеченным опорным блоком. Информация об индексе слияния, указывающая выбранного кандидата на слияние, может быть сформирована и просигнализированы устройству 200 декодирования. Информация о движении текущего блока может быть извлечена с использованием информации о движении выбранного кандидата на слияние.[0131] For example, if a skip mode or a merge mode is applied to a current block, the encoder 100 may configure a list of merge candidates that will be described later, and may extract a reference block with a minimum difference or a difference of a given reference or less with respect to the current block among the reference blocks specified by merge candidates that are included in the list of merge candidates. In this case, a merge candidate associated with the extracted reference block may be selected. Merge index information indicating the selected merge candidate may be generated and signaled to the decoding device 200. The movement information of the current block can be extracted using the movement information of the selected merge candidate.

[0132] Например, если режим (A)MVP применяется к текущему блоку, то устройство кодирования может конфигурировать список кандидатов (A)MVP, который будет описан позже, и может использовать вектор движения кандидата на предсказатель вектора движения (mvp), выбранного среди кандидатов на mvp, включенных в список кандидатов (A)MVP, в качестве mvp текущего блока. В данном случае, например, вектор движения, указывающий опорный блок, извлеченный путем оценки движения, может быть использован в качестве вектора движения текущего блока. Кандидат на mvp, включающий в себя вектор движения с наименьшей разностью по отношению к вектору движения текущего блока, среди кандидатов на mvp, может стать выбранным кандидатом на mvp. Может быть извлечена разность векторов движения (MVD), т.е. разность, полученная путем вычитания mvp из вектора движения текущего блока. В данном случае, информация о MVD может быть просигнализирована устройству 100 декодирования. Кроме того, если применяется режим (A)MVP, то значение индекса опорной картинки может быть сконфигурировано в качестве информации об индексе опорной картинки и может быть отдельно просигнализирована устройству декодирования.[0132] For example, if the (A)MVP mode is applied to the current block, then the encoder may configure a list of (A)MVP candidates that will be described later, and may use the motion vector of a motion vector predictor (mvp) candidate selected among the candidates to mvp included in the (A)MVP candidate list as the mvp of the current block. Here, for example, a motion vector indicating a reference block extracted by motion estimation can be used as a motion vector of the current block. The mvp candidate including the motion vector with the smallest difference with respect to the motion vector of the current block among the mvp candidates may become the selected mvp candidate. Motion vector difference (MVD) can be extracted, i.e. the difference obtained by subtracting mvp from the current block's motion vector. In this case, the MVD information may be signaled to the decoding device 100. In addition, if the (A)MVP mode is used, the reference picture index value can be configured as the reference picture index information and can be separately signaled to the decoding device.

[0133] Устройство 100 кодирования может извлекать остаточные сэмплы на основании сэмплов предсказания (S720). Устройство 100 кодирования может извлекать остаточные сэмплы посредством сравнения исходных сэмплов текущего блока и сэмплов предсказания.[0133] The encoding device 100 may extract residual samples based on the prediction samples (S720). The encoder 100 may extract residual samples by comparing the original samples of the current block and the prediction samples.

[0134] Устройство 100 кодирования кодирует информацию изображения, включающую в себя информацию предсказания и остаточную информацию (S730). Устройство кодирования может выводить кодированную информацию изображения в форме битового потока. Информация предсказания может включать в себя информацию касательно информации о режиме предсказания (например, флаг пропуска, флаг слияния или индекс режима) и информацию о движении в качестве информации связанной с процедурой предсказания. Информация, связанная с информацией о движении, может включать в себя информацию о выборе кандидата (например, индекс слияния, флаг mvp или индекс mvp), т.е. информацию для извлечения вектора движения. Кроме того, информация, связанная с информацией о движении, может включать в себя информацию касательно MVD и/или информацию об индексе опорной картинки. Кроме того, информация, связанная с информацией о движении, может включать в себя информацию, указывающую, применяется ли предсказание L0, предсказание L1 или би-предсказание. Остаточная информация является информацией касательно остаточных сэмплов. Остаточная информация может включать в себя информацию касательно квантованных коэффициентов преобразования для остаточных сэмплов.[0134] The encoding device 100 encodes image information including prediction information and residual information (S730). The encoding apparatus may output encoded image information in the form of a bit stream. The prediction information may include information regarding prediction mode information (eg, a skip flag, a merge flag, or a mode index) and motion information as information associated with a prediction procedure. Information associated with the motion information may include candidate selection information (eg, merge index, mvp flag, or mvp index), i.e. information to extract the motion vector. In addition, information related to the motion information may include information regarding the MVD and/or information about the index of the reference picture. In addition, information associated with the motion information may include information indicating whether L0 prediction, L1 prediction, or bi-prediction is applied. Residual information is information regarding residual samples. The residual information may include information regarding quantized transform coefficients for the residual samples.

[0135] Выходной битовый поток может быть сохранен на (цифровом) запоминающем носителе информации и передан устройству декодирования, или может быть передан устройству декодирования через сеть.[0135] The output bit stream may be stored on a (digital) storage medium and transmitted to a decoding device, or may be transmitted to the decoding device via a network.

[0136] Между тем, как описано выше, устройство кодирования может формировать восстановленную картинку (включая восстановленные сэмплы и восстановленный блок) на основании опорных сэмплов и остаточных сэмплов. Это служит для извлечения, в устройстве 100 кодирования, тех же самых результатов предсказания, как те, что выполняются в устройстве 200 декодирования. Соответственно, эффективность кодирования может быть улучшена. Соответственно, устройство 100 кодирования может сохранять восстановленную картинку (или восстановленные сэмплы и восстановленный блок) в памяти, и может использовать восстановленную картинку в качестве опорной картинки для межкадрового предсказания. Как описано выше, процедура внутриконтурной фильтрации может быть дополнительно применена к восстановленной картинке.[0136] Meanwhile, as described above, the encoding device can generate a reconstructed picture (including reconstructed samples and a reconstructed block) based on the reference samples and residual samples. This serves to extract, in the encoding device 100, the same prediction results as those performed in the decoding device 200. Accordingly, coding efficiency can be improved. Accordingly, the encoding apparatus 100 may store the reconstructed picture (or the reconstructed samples and the reconstructed block) in memory, and may use the reconstructed picture as a reference picture for inter-frame prediction. As described above, the in-loop filtering procedure can be additionally applied to the reconstructed image.

[0137][0137]

[0138] Фиг. 9 и 10 являются соответственно основанной на межкадровом предсказании процедурой декодирования видео/изображения и средством межкадрового предсказания в устройстве декодирования в соответствии с вариантом осуществления изобретения.[0138] FIG. 9 and 10 are respectively an inter-frame prediction-based video/image decoding procedure and an inter-frame prediction means in a decoding apparatus according to an embodiment of the invention.

[0139] Устройство 200 декодирования может выполнять операцию, соответствующую операции, которая выполняется в устройстве 100 кодирования. Устройство 200 декодирования может выполнять предсказание касательно текущего блока на основании принятой информации предсказания, и может извлекать сэмплы предсказания.[0139] The decoding device 200 may perform an operation corresponding to an operation that is performed in the encoding device 100. The decoding apparatus 200 may perform prediction regarding the current block based on the received prediction information, and may extract prediction samples.

[0140] В частности, устройство 200 декодирования может определять режим предсказания для текущего блока на основании принятой информации предсказания (S910). Устройство 200 декодирования может определять, какой режим межкадрового предсказания применяется к текущему блоку, на основании информации о режиме предсказания в информации предсказания.[0140] Specifically, the decoding apparatus 200 may determine the prediction mode for the current block based on the received prediction information (S910). The decoding apparatus 200 can determine which inter-frame prediction mode is applied to the current block based on the prediction mode information in the prediction information.

[0141] Например, устройство 200 декодирования может определять, применяется ли режим слияния или режим (A)MVP к текущему блоку на основании флага слияния. В качестве альтернативы, устройство 200 декодирования может выбирать одного из различных кандидатов на режим межкадрового предсказания на основании индекса режима. Кандидаты на режим межкадрового предсказания могут включать в себя режим пропуска, режим слияния и/или режим (A)MVP и могут включать в себя различные режимы межкадрового предсказания, которые будут описаны позже.[0141] For example, decoding apparatus 200 may determine whether a merge mode or an (A)MVP mode is applied to the current block based on the merge flag. Alternatively, decoding apparatus 200 may select one of various inter-prediction mode candidates based on the mode index. Inter prediction mode candidates may include a skip mode, a merge mode, and/or an (A)MVP mode, and may include various inter prediction modes that will be described later.

[0142] Устройство 200 декодирования извлекает информацию о движении текущего блока на основании определенного режима межкадрового предсказания (S920). Например, если режим пропуска или режим слияния применяется к текущему блоку, то устройство 200 декодирования может конфигурировать список кандидатов на слияние, который будет описаны позже, и выбирать одного из кандидатов на слияние, включенных в список кандидатов на слияние. Выбор кандидата на слияние может быть выполнен на основании индекса слияния. Информация о движении текущего блока может быть извлечена из информации движения выбранного кандидата на слияние. Информация о движении выбранного кандидата на слияние может быть использована в качестве информации о движении текущего блока.[0142] The decoding apparatus 200 extracts motion information of the current block based on the determined inter-frame prediction mode (S920). For example, if a skip mode or a merge mode is applied to the current block, the decoding apparatus 200 may configure a merge candidate list, which will be described later, and select one of the merge candidates included in the merge candidate list. The selection of a merger candidate can be done based on the merger index. The movement information of the current block can be extracted from the movement information of the selected merge candidate. The movement information of the selected merge candidate can be used as the movement information of the current block.

[0143] В качестве другого примера, если режим (A)MVP применяется к текущему блоку, то устройство 200 декодирования может конфигурировать список кандидатов (A)MVP, который будет описан позже, и может использовать вектор движения кандидата на предсказатель вектора движения (mvp), выбранного среди кандидатов на mvp, включенных в список кандидатов (A)MVP, в качестве mvp текущего блока. Выбор может быть выполнен на основании информации о выборе (флаг mvp или индекс mvp). В данном случае, устройство 200 декодирования может извлекать MVD текущего блока на основании информации касательно MVD. Устройство декодирования может извлекать вектор движения текущего блока на основании mvp текущего блока и MVD. Кроме того, устройство декодирования может извлекать индекс опорной картинки текущего блока на основании информации об индексе опорной картинки. Картинка, указанная индексом опорной картинки в списке опорных картинок, в отношении текущего блока, может быть извлечена в качестве опорной картинки, на которую ссылаются для межкадрового предсказания текущего блока.[0143] As another example, if the (A)MVP mode is applied to the current block, then the decoding apparatus 200 may configure a list of (A)MVP candidates that will be described later, and may use the motion vector of a motion vector predictor (mvp) candidate. , selected from among the mvp candidates included in the (A)MVP candidate list, as the mvp of the current block. The selection can be made based on the selection information (mvp flag or mvp index). In this case, the decoding apparatus 200 may extract the MVD of the current block based on the information regarding the MVD. The decoding apparatus may extract the motion vector of the current block based on the mvp of the current block and the MVD. In addition, the decoding apparatus may extract the reference picture index of the current block based on the reference picture index information. The picture indicated by the reference picture index in the reference picture list with respect to the current block may be retrieved as a reference picture referred to for inter-picture prediction of the current block.

[0144] Между тем, как будет описано позже, информация о движении текущего блока может быть извлечена без конфигурации списка кандидатов. В данном случае, информация о движении текущего блока может быть извлечена в соответствии с процедурой, раскрытой в режиме предсказания, который будет описан позже. В данном случае, конфигурация списка кандидатов, такая как та, что описана выше, может быть опущена.[0144] Meanwhile, as will be described later, movement information of the current block can be retrieved without configuring the candidate list. In this case, information about the movement of the current block can be extracted in accordance with the procedure disclosed in the prediction mode, which will be described later. In this case, a candidate list configuration such as the one described above may be omitted.

[0145] Устройство 200 декодирования может формировать сэмплы предсказания для текущего блока на основании информации о движении текущего блока (S930). В данном случае, устройство 200 декодирования может извлекать опорную картинку на основании индекса опорной картинки текущего блока, и может извлекать сэмплы предсказания текущего блока, указанные касательно опорной картинки посредством вектора движения текущего блока. В данном случае, как будет описано позже, процедура фильтрации сэмплов предсказания может быть дополнительно выполнена касательно некоторых или всех сэмплов предсказания текущего блока в соответствии с обстоятельствами.[0145] The decoding apparatus 200 may generate prediction samples for the current block based on motion information of the current block (S930). Here, the decoding apparatus 200 can extract the reference picture based on the reference picture index of the current block, and can extract the prediction samples of the current block indicated with respect to the reference picture by the motion vector of the current block. In this case, as will be described later, the prediction sample filtering procedure may be further performed on some or all of the prediction samples of the current block according to circumstances.

[0146] Например, средство 260 межкадрового предсказания устройства 200 декодирования может включать в себя блок 261 определения режима предсказания, блок 262 извлечения информации о движении и блок 263 извлечения сэмпла предсказания. Устройство 200 декодирования может определять режим предсказания текущего блока на основании информации о режиме предсказания, принятой от блока 261 определения режима предсказания, может извлекать информацию о движении (вектор движения и/или индекс опорной картинки) текущего блока на основании информации, связанной с информацией о движении, принятой от блока 262 извлечения информации о движении. Блок 263 извлечения сэмпла предсказания может извлекать сэмплы предсказания текущего блока.[0146] For example, the interframe predictor 260 of the decoding device 200 may include a prediction mode determining unit 261, a motion information extracting unit 262, and a prediction sample extracting unit 263. The decoding device 200 can determine the prediction mode of the current block based on the prediction mode information received from the prediction mode determining unit 261, can extract motion information (motion vector and/or reference picture index) of the current block based on information related to the motion information , received from the motion information extraction unit 262. The prediction sample extractor 263 may extract prediction samples of the current block.

[0147] Устройство 200 декодирования формирует остаточные сэмплы для текущего блока на основании принятой остаточной информации (S940). Устройство 200 декодирования может формировать восстановленные сэмплы для текущего блока на основании сэмплов предсказания и остаточных сэмплов, и может формировать восстановленную картинку на основании восстановленных сэмплов (S950). Затем, как описано выше, процедура внутриконтурной фильтрации может быть дополнительно применена к восстановленной картинке.[0147] The decoding apparatus 200 generates residual samples for the current block based on the received residual information (S940). The decoding apparatus 200 can generate reconstructed samples for the current block based on the prediction samples and residual samples, and can generate a reconstructed picture based on the reconstructed samples (S950). Then, as described above, the in-loop filtering procedure can be further applied to the reconstructed image.

[0148] Как описано выше, процедура межкадрового предсказания может включать в себя этап определения режима межкадрового предсказания, этап извлечения информации о движении в соответствии с определенным режимом предсказания, и этап исполнения предсказания (формирования сэмпла предсказания) на основании извлеченной информации о движении.[0148] As described above, the inter-prediction procedure may include a step of determining an inter-prediction mode, a step of extracting motion information according to a determined prediction mode, and a step of executing the prediction (generating a prediction sample) based on the extracted motion information.

[0149][0149]

[0150] Определение режима межкадрового предсказания[0150] Inter-prediction mode determination

[0151] Различные режимы межкадрового предсказания могут быть использованы для предсказания текущего блока в картинке. Например, могут быть использованы различные режимы, такие как режим слияния, режим пропуска, режим MVP и аффинный режим. Режим уточнения вектора движения на стороне декодера (DMVR), режим адаптивного разрешения вектора движения (AMVR) и т.д. могут быть дополнительно использованы в качестве дополнительных режимов. Аффинный режим может упоминаться как режим аффинного предсказания движения. Режим MVP может упоминаться как режим усовершенствованного предсказания вектора движения (AMVP).[0151] Various inter-frame prediction modes can be used to predict the current block in a picture. For example, various modes such as merge mode, skip mode, MVP mode and affine mode can be used. Decoder side motion vector refinement (DMVR) mode, adaptive motion vector resolution (AMVR) mode, etc. can be additionally used as additional modes. The affine mode may be referred to as the affine motion prediction mode. The MVP mode may be referred to as the Advanced Motion Vector Prediction (AMVP) mode.

[0152] Информация о режиме предсказания, указывающая режим межкадрового предсказания текущего блока, может быть просигнализирована от устройства кодирования устройству декодирования. Информация о режиме предсказания может быть включена в битовый поток и принята устройством декодирования. Информация о режиме предсказания может включать в себя информацию об индексе, указывающую один из нескольких режимов-кандидатов. В качестве альтернативы, режим межкадрового предсказания может быть указан посредством иерархической сигнализации информации флага. В данном случае, информация о режиме предсказания может включать в себя один или несколько флагов. Например, флаг может быть дополнительно просигнализирован для того, чтобы указать, применяется ли режим пропуска, путем сигнализации флага пропуска, чтобы указать, применяется ли режим слияния, путем сигнализации флага слияния, если режим пропуска не применяется, и чтобы указать, что применяется режим MVP, если режим слияния не применяется или для дополнительного указания. Аффинный режим может быть просигнализирован в качестве независимого режима и может быть просигнализирован в качестве режима зависимого от режима слияния или режима MVP. Например, аффинный режим может быть сконфигурирован в качестве одного из списка кандидатов на слияние или списка кандидатов на MVP, как будет описано позже.[0152] Prediction mode information indicating the inter-prediction mode of the current block may be signaled from the encoding device to the decoding device. The prediction mode information may be included in the bit stream and received by the decoding device. The prediction mode information may include index information indicating one of several candidate modes. Alternatively, the inter-prediction mode may be indicated by hierarchical flag information signaling. Here, the prediction mode information may include one or more flags. For example, the flag may be further signaled to indicate whether the skip mode is applied, by signaling a skip flag to indicate whether the merge mode is applied, by signaling a merge flag if the skip mode is not applied, and to indicate that the MVP mode is applied. , if merge mode is not applied or for additional indication. The affine mode can be signaled as an independent mode and can be signaled as a mode dependent on a merge mode or an MVP mode. For example, the affine mode may be configured as one of a merge candidate list or an MVP candidate list, as will be described later.

[0153][0153]

[0154] Извлечение информации о движении в соответствии с режимом межкадрового предсказания[0154] Extracting motion information according to inter-frame prediction mode

[0155] Устройство 100 кодирования или устройство 200 декодирования может выполнять межкадровое предсказание с использованием информации текущего блока. Устройство 100 кодирования может извлекать оптимальную информацию о движении для текущего блока в соответствии с процедурой оценки движения. Например, устройство 100 кодирования может осуществлять поиск опорного блока с подобной корреляцией с использованием исходного блока в исходной картинке для текущего блока в дробных единицах пикселя в рамках определенного диапазона поиска в опорной картинке. Соответственно, устройство кодирования может извлекать информацию о движении. Подобие блока может быть извлечено на основании разности между основанными на фазе значениями сэмплов. Например, подобие блока может быть вычислено на основании SAD (Сумма Абсолютных Разностей) между текущим блоком (или шаблоном текущего блока) и опорным блоком (или шаблоном опорного блока). В данном случае, информация о движении может быть извлечена на основании опорного блока с наименьшей SAD в рамках зоны поиска. Извлеченная информация о движении может быть просигнализирована устройству декодирования с использованием нескольких способов, основанных на режиме межкадрового предсказания.[0155] The encoding apparatus 100 or the decoding apparatus 200 may perform inter-frame prediction using information of the current block. The encoding device 100 can extract optimal motion information for the current block according to a motion estimation procedure. For example, encoder 100 may search for a reference block with a similar correlation using the source block in the source picture for the current block in fractional pixel units within a certain search range in the reference picture. Accordingly, the encoding device can extract motion information. Block similarity can be extracted based on the difference between the phase-based values of the samples. For example, block similarity can be calculated based on the SAD (Sum of Absolute Differences) between the current block (or current block template) and the reference block (or reference block template). In this case, motion information can be extracted based on the reference block with the smallest SAD within the search area. The extracted motion information may be signaled to the decoder using several methods based on the inter-frame prediction mode.

[0156][0156]

[0157] Режим слияния и режим пропуска[0157] Merge Mode and Skip Mode

[0158] Если применяется режим слияния, то информация о движении текущего блока предсказания непосредственно не передается, и информация о движении текущего блока предсказания извлекается с использованием информации о движении соседнего блока предсказания. Соответственно, устройство 100 кодирования может указывать информацию о движении текущего блока предсказания путем передачи информации флага, чтобы уведомить о том, что режим слияния был использован, и индекс слияния, чтобы уведомить о том, какой соседний блок предсказания был использован.[0158] If the merge mode is applied, the motion information of the current prediction block is not directly transmitted, and the motion information of the current prediction block is extracted using the motion information of the adjacent prediction block. Accordingly, the encoding device 100 may indicate movement information of the current prediction block by transmitting flag information to notify that a merging mode has been used and a merging index to notify which neighboring prediction block has been used.

[0159] Устройство 100 кодирования должно осуществлять поиск блока-кандидата на слияние, используемого для извлечения информации о движении текущего блока предсказания, для того, чтобы выполнить режим слияния. Например, может быть использовано максимум 5 блоков-кандидатов на слияние, но изобретение этим не ограничено. Кроме того, максимальное количество блоков-кандидатов на слияние может быть передано в заголовке слайса, и изобретение этим не ограничено. После поиска блоков-кандидатов на слияние, устройство 100 кодирования может формировать список кандидатов на слияние, и может выбирать блок-кандидат на слияние с наименьшей стоимостью, среди блоков-кандидатов на слияние, в качестве итогового блока-кандидата на слияние.[0159] The encoding apparatus 100 must search for a merging candidate block used to extract motion information of the current prediction block in order to perform a merging mode. For example, a maximum of 5 merge candidate blocks may be used, but the invention is not limited to this. In addition, a maximum number of merge candidate blocks can be carried in the slice header, and the invention is not limited to this. After searching for merge candidate blocks, the encoder 100 may generate a merge candidate list, and may select the merge candidate block with the lowest cost among the merge candidate blocks as the final merge candidate block.

[0160] Вариант осуществления изобретения предоставляет различные варианты осуществления блоков-кандидатов на слияние, создающих список кандидатов на слияние.[0160] An embodiment of the invention provides various embodiments of merge candidate blocks creating a list of merge candidates.

[0161] Список кандидатов на слияние может использовать 5 блоков-кандидатов на слияние, например. Например, может быть использовано 4 пространственных кандидатов на слияние и 1 временной кандидат на слияние.[0161] The merge candidate list may use 5 merge candidate blocks, for example. For example, 4 spatial merge candidates and 1 temporal merge candidate could be used.

[0162][0162]

[0163] Фиг. 11 иллюстрирует пример создания пространственных кандидатов на слияние для текущего блока.[0163] FIG. 11 illustrates an example of creating spatial merge candidates for the current block.

[0164] Обращаясь к Фиг. 11, для предсказания текущего блока, может быть использован по меньшей мере один из левого соседнего блока A1, нижнего левого соседнего блока A2, верхнего правого соседнего блока B0, верхнего соседнего блока B1 и верхнего левого соседнего B2. Список кандидатов на слияние для текущего блока может быть сконфигурирован на основании процедуры, показанной на Фиг. 12.[0164] Referring to FIG. 11, at least one of the left neighbor block A1, the bottom left neighbor block A2, the top right neighbor block B0, the top neighbor block B1, and the top left neighbor B2 can be used to predict the current block. The merge candidate list for the current block can be configured based on the procedure shown in FIG. 12.

[0165][0165]

[0166] Фиг. 12 является блок-схемой, иллюстрирующей способ конфигурирования списка кандидатов на слияние в соответствии с вариантом осуществления, к которым применяется изобретение.[0166] FIG. 12 is a flowchart illustrating a method for configuring a merge candidate list in accordance with an embodiment to which the invention is applied.

[0167] Устройство кодирования (устройство 100 кодирования или устройство 200 декодирования) осуществляет поиск пространственных соседних блоков текущего блока и вставляет извлеченных пространственных кандидатов на слияние в список кандидатов на слияние (S1210). Например, пространственные соседние блоки могут включать в себя нижний левый угловой соседний блок, левый соседний блок, верхний правый угловой соседний блок, верхний соседний блок и верхний левый угловой соседний блок текущего блока. В данном случае, это пример, и дополнительные соседние блоки, такие как правый соседний блок, нижний соседний блок и нижний правый соседний блок, в дополнение к пространственным соседним блокам, могут быть дополнительно использованы в качестве пространственных соседних блоков. Устройство кодирования может обнаруживать доступные блоки путем поиска пространственных соседних блоков на основании приоритета, и может извлекать информацию о движении обнаруженных блоков в качестве пространственных кандидатов на слияние. Например, устройство 100 кодирования или устройство 200 декодирования может осуществлять поиск 5 блоков, проиллюстрированных на Фиг. 11 в последовательности A1, B1, B0, A0 и B2, и может конфигурировать список кандидатов на слияние путем последовательной индексации доступных кандидатов.[0167] The encoding device (encoding device 100 or decoding device 200) searches for spatial neighbors of the current block and inserts the retrieved spatial merge candidates into the merge candidate list (S1210). For example, spatial neighbors may include a lower left corner neighbor, a left neighbor, an upper right corner neighbor, an upper neighbor, and a top left corner neighbor of the current block. Here, this is an example, and additional neighboring blocks such as a right neighboring block, a lower neighboring block and a lower right neighboring block, in addition to spatial neighboring blocks, can be further used as spatial neighboring blocks. The encoder can detect available blocks by searching for spatial neighboring blocks based on priority, and can extract motion information of the detected blocks as spatial candidates for merging. For example, the encoding device 100 or the decoding device 200 may search the 5 blocks illustrated in FIG. 11 in the sequence A1, B1, B0, A0 and B2, and can configure the list of merge candidates by sequentially indexing the available candidates.

[0168] Устройство кодирования осуществляет поиск временного соседнего блока текущего блока и вставляет извлеченного временного кандидата на слияние в список кандидатов на слияние (S1220). Временной соседний блок может быть расположен в опорной картинке, т.е. картинке отличной от текущей картинки, у которой располагается текущий блок. Опорная картинка, в которой располагается временной соседний блок, может называться совместно-размещенной картинкой или col-картинкой. Поиск временного соседнего блока может быть осуществлен в последовательности нижнего правого углового соседнего блока и нижнего правого центрального блока у совместно-размещенного блока текущего блока в col-картинке. Между тем, если применяется сжатие данных движения, то конкретная информация о движении может быть сохранена в col-картинке в качестве репрезентативной информации о движении для каждой заданной единицы хранения. В данном случае, нет необходимости хранить информацию о движении для всех блоков в заданной единице хранения, и таким образом может быть получен результат сжатия данных движения. В данном случае, заданная единица хранения может быть предварительно определена как 16×16 единица сэмплов или 8×8 единица сэмплов, например, или информация о размере для заданной единицы хранения может быть просигнализирована от устройства 100 кодирования устройству 200 декодирования. Если применяется сжатие данных движения, то информация о движении временного соседнего блока может быть замещена репрезентативной информацией о движении заданной единицы хранения, в которой располагается временной соседний блок. Т.е. в данном случае, в аспекте реализации, после того, как арифметический сдвиг вправо выполняется на заданное значение на основании координат (верхняя левая позиций сэмпла) временного соседнего блока, а не блока предсказания, в котором располагаются координаты временного соседнего блока, временной кандидат на слияние может быть извлечен на основании информации о движении блока предсказания, который охватывает местоположение с арифметическим сдвигом влево. Например, если заданная единица хранения соответствует 2n×2n единице сэмплов, предполагая, что координаты временного соседнего блока соответствуют (xTnb, yTnb), то информация о движении блока предсказания, расположенного в ((xTnb>>n)<<n), (yTnb>>n)<<n)), т.е. модифицированном местоположении, может быть использована для временного кандидата на слияние. В частности, например, если заданная единица хранения соответствует 16×16 единице сэмплов, предполагая, что координаты временного соседнего блока соответствуют (xTnb, yTnb), то информация о движении блока предсказания, расположенного в ((xTnb>>4)<<4), (yTnb>>4)<<4)), т.е. модифицированном местоположении, может быть использована для временного кандидата на слияние. В качестве альтернативы, например, если заданная единица хранения соответствует 8×8 единице сэмплов, предполагая, что координаты временного соседнего блока соответствуют (xTnb, yTnb), то информация о движении блока предсказания, расположенного в ((xTnb>>3)<<3), (yTnb>>3)<<3)), т.е. модифицированном местоположении, может быть использована для временного кандидата на слияние.[0168] The encoding device searches for a temporary neighbor block of the current block and inserts the retrieved temporary merge candidate into the merge candidate list (S1220). The temporary neighboring block may be located in the reference picture, i.e. a picture different from the current picture in which the current block is located. The reference picture in which the temporary adjacent block is located may be called a co-located picture or col picture. The search for a temporary neighbor block can be carried out in the sequence of the bottom right corner neighbor block and the bottom right center block of the co-located block of the current block in the col picture. Meanwhile, if motion data compression is applied, specific motion information can be stored in a col picture as representative motion information for each given storage unit. In this case, it is not necessary to store motion information for all blocks in a given storage unit, and thus a motion data compression result can be obtained. Here, the predetermined storage unit may be predetermined as a 16×16 sample unit or an 8×8 sample unit, for example, or size information for the predetermined storage unit may be signaled from the encoding device 100 to the decoding device 200. If motion data compression is applied, the motion information of the temporary neighbor block may be replaced by representative motion information of a given storage unit in which the temporary neighbor block is located. Those. in this case, in an implementation aspect, after an arithmetic right shift is performed by a specified value based on the coordinates (upper left sample positions) of the temporary neighbor block, rather than the prediction block in which the coordinates of the temporary neighbor block are located, the temporary merge candidate may be extracted based on the motion information of a prediction block that covers an arithmetic left-shifted location. For example, if a given storage unit corresponds to a 2n×2n sample unit, assuming that the coordinates of the temporary neighboring block correspond to (xTnb, yTnb), then the motion information of the prediction block located at ((xTnb>>n)<<n), (yTnb >>n)<<n)), i.e. modified location, can be used for a temporary merge candidate. In particular, for example, if a given storage unit corresponds to a 16x16 sample unit, assuming that the coordinates of the temporary neighboring block correspond to (xTnb, yTnb), then the motion information of the prediction block located at ((xTnb>>4)<<4) , (yTnb>>4)<<4)), i.e. modified location, can be used for a temporary merge candidate. Alternatively, for example, if a given storage unit corresponds to an 8x8 sample unit, assuming that the coordinates of the temporary neighboring block correspond to (xTnb, yTnb), then the motion information of the prediction block located at ((xTnb>>3)<<3 ), (yTnb>>3)<<3)), i.e. modified location, can be used for a temporary merge candidate.

[0169] Устройство кодирования может проверять, является ли текущее количество кандидатов на слияние меньше максимального количества кандидатов на слияние (S1230). Максимальное количество кандидатов на слияние может быть предварительно определено или может быть просигнализировано от устройства 100 кодирования устройству 200 декодирования. Например, устройство 100 кодирования может формировать информацию касательно максимального количества кандидатов на слияние, может кодировать информацию, и может передавать информацию устройству 200 декодирования в форме битового потока. Если максимальное количество кандидатов на слияние заполнено, процесс добавления кандидата может не выполняться.[0169] The encoding device may check whether the current number of merge candidates is less than the maximum number of merge candidates (S1230). The maximum number of merge candidates may be predetermined or may be signaled from the encoding apparatus 100 to the decoding apparatus 200. For example, the encoding apparatus 100 may generate information regarding the maximum number of merge candidates, may encode the information, and may transmit the information to the decoding apparatus 200 in the form of a bit stream. If the maximum number of merge candidates is full, the process of adding a candidate may not occur.

[0170] Если, в результате проверки, текущее количество кандидатов на слияние меньше максимального количества кандидатов на слияние, то устройство кодирования вставляет добавленного кандидата на слияние в список кандидатов на слияние (S1240). Добавленный кандидат на слияние может включать в себя ATMVP (Адаптивное Временное Предсказание Вектора Движения), объединенного би-предсказывающего кандидата на слияние (если тип слайса у текущего слайса соответствует типу B) и/или кандидата на слияние нулевого вектора, например.[0170] If, as a result of the check, the current number of merge candidates is less than the maximum number of merge candidates, the encoding device inserts the added merge candidate into the list of merge candidates (S1240). The added merge candidate may include an ATMVP (Adaptive Temporal Motion Vector Prediction), a combined bi-predictive merge candidate (if the slice type of the current slice is type B), and/or a null vector merge candidate, for example.

[0171][0171]

[0172] Фиг. 13 является блок-схемой, иллюстрирующей способ конфигурирования списка кандидатов на предсказание (список кандидатов на MVP) в соответствии с вариантом осуществления, к которому применяется изобретение.[0172] FIG. 13 is a flowchart illustrating a method for configuring a prediction candidate list (MVP candidate list) in accordance with an embodiment to which the invention is applied.

[0173] Если применяется режим предсказания вектора движения (MVP), то список кандидатов на предсказателя вектора движения (mvp) может быть сформирован на основании вектора движения восстановленного пространственного соседнего блока (например, соседнего блока, описанного на Фиг. 11) и/или вектора движения, соответствующего временному соседнему блоку (или Col блоку). Т.е., вектор движения восстановленного пространственного соседнего блока и/или вектор движения временного соседнего блока может быть использован в качестве кандидата на предсказатель вектора движения. Информация касательно предсказания может включать в себя информацию о выборе (например, флаг MVP или индекс MVP), указывающую оптимального кандидата на предсказателя вектора движения, выбранного среди кандидатов на предсказателя вектора движения, включенных в список. В данном случае, средство предсказания может выбирать предсказатель вектора движения текущего блока, среди кандидатов на предсказателя вектора движения, включенных в список кандидатов на вектор движения, с использованием информации о выборе. Средство предсказания устройства 100 кодирования может вычислять разность векторов движения (MVD) между вектором движения текущего блока и предсказателем вектора движения, может кодировать MVD и может выводить закодированную MVD в форме битового потока. Т.е. MVD может быть вычислена в качестве значения, полученного путем вычитания предсказателя вектора движения из вектора движения текущего блока. В данном случае, средство предсказания устройства декодирования может получать разность векторов движения, включенную в информацию касательно предсказания, и может извлекать вектор движения текущего блока посредством сложения разности векторов движения и предсказателя вектора движения. Средство предсказания устройства декодирования может получать или извлекать индекс опорной картинки, указывающий опорную картинку, из информации касательно предсказания. Например, список кандидатов на предсказателя вектора движения может быть сконфигурирован как проиллюстрировано на Фиг. 13.[0173] If a motion vector prediction (MVP) mode is used, a motion vector predictor (mvp) candidate list may be generated based on the motion vector of the reconstructed spatial neighbor block (e.g., the neighbor block described in FIG. 11) and/or the vector movement corresponding to a temporary adjacent block (or Col block). That is, the motion vector of the reconstructed spatial neighbor block and/or the motion vector of the temporal neighbor block can be used as a motion vector predictor candidate. The prediction information may include selection information (eg, an MVP flag or an MVP index) indicating the optimal motion vector predictor candidate selected among the motion vector predictor candidates included in the list. Here, the prediction means may select a motion vector predictor of the current block among motion vector predictor candidates included in the motion vector candidate list using the selection information. The predictor of the encoding device 100 may calculate a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, may encode the MVD, and may output the encoded MVD in the form of a bitstream. Those. MVD can be calculated as the value obtained by subtracting the motion vector predictor from the motion vector of the current block. Here, the predictor means of the decoding device can obtain the motion vector difference included in the prediction information, and can extract the motion vector of the current block by adding the motion vector difference and the motion vector predictor. The prediction means of the decoding device may obtain or extract a reference picture index indicating the reference picture from the prediction information. For example, the motion vector predictor candidate list may be configured as illustrated in FIG. 13.

[0174] Обращаясь к Фиг. 13, устройство кодирования осуществляет поиск пространственного блок-кандидата для предсказания вектора движения и вставляет его в список кандидатов на предсказание (S1310). Например, устройство кодирования может осуществлять поиск соседних блоков в соответствии с предварительно определенной очередностью поиска, и добавлять информацию соседнего блока, который удовлетворяет условию для пространственного блок-кандидата в список кандидатов на предсказание (список кандидатов на MVP).[0174] Referring to FIG. 13, the encoding device searches for a spatial block candidate for motion vector prediction and inserts it into the prediction candidate list (S1310). For example, the encoding apparatus may search neighboring blocks according to a predetermined search order, and add information of a neighboring block that satisfies the condition for a spatial block candidate to a prediction candidate list (MVP candidate list).

[0175] После создания списка пространственных блоков-кандидатов, устройство кодирования сравнивает количество пространственных кандидатов, включенных в список кандидатов на предсказание, с предварительно установленным опорным количеством (например, 2) (S1320). Если количество пространственных кандидатов, включенных в список кандидатов на предсказание, больше или равно опорному количеству (например, 2), устройство кодирования может заканчивать создание списка кандидатов на предсказание.[0175] After generating the list of spatial candidate blocks, the encoding device compares the number of spatial candidates included in the prediction candidate list with a preset reference number (eg, 2) (S1320). If the number of spatial candidates included in the prediction candidate list is greater than or equal to the reference number (eg, 2), the encoder may finish creating the prediction candidate list.

[0176] Но, если количество пространственных кандидатов, включенных в список кандидатов на предсказание, меньше опорного количества (например, 2), устройство кодирования осуществляет поиск временного блока-кандидата и вставляет его в список кандидатов на предсказание (S1330), а когда временной блок-кандидат недоступен, добавляет нулевой вектор движения в список кандидатов на предсказание (S1340).[0176] But, if the number of spatial candidates included in the prediction candidate list is less than the reference number (for example, 2), the encoding device searches for a candidate time block and inserts it into the prediction candidate list (S1330), and when the time block -candidate not available, adds a zero motion vector to the list of prediction candidates (S1340).

[0177][0177]

[0178] Формирование сэмпла предсказания[0178] Prediction sample generation

[0179] Предсказанный блок для текущего блока может быть извлечен на основании информации о движении, извлеченной в соответствии с режимом предсказания. Предсказанный блок может включать в себя сэмплы предсказания (массив сэмплов предсказания) текущего блока. Когда вектор движения текущего блока указывает дробную единицу сэмпла, может быть выполнена процедура интерполяции, и посредством этого сэмплы предсказания текущего блока могут быть извлечены на основании опорных сэмплов в дробной единице сэмпла в опорной картинке. Когда аффинное межкадровое предсказание применяется к текущему блоку, сэмплы предсказания могут быть сформированы на основании вектора движения в единице сэмпла/субблока. Когда применяется би-направленное предсказание, итоговые сэмплы предсказания могут быть извлечены посредством взвешенных (в соответствии с фазой) сумм сэмплов предсказания, извлеченных на основании первого направления предсказания (например, предсказание L0), и сэмплов предсказания, извлеченных на основании второго направления предсказания. Восстановленные сэмплы и восстановленные картинки могут быть сформированы на основании извлеченных сэмплов предсказания, и, как описано выше, впоследствии может быть выполнена процедура, такая как внутриконтурная фильтрация.[0179] A predicted block for a current block may be extracted based on motion information extracted according to the prediction mode. The predicted block may include prediction samples (an array of prediction samples) of the current block. When the motion vector of the current block indicates the fractional unit of the sample, an interpolation procedure can be performed, and through this, prediction samples of the current block can be extracted based on the reference samples in the fractional unit of the sample in the reference picture. When affine inter-frame prediction is applied to the current block, prediction samples can be generated based on the motion vector in the sample/sub-block unit. When bi-directional prediction is applied, the resulting prediction samples can be extracted by weighted (according to phase) sums of the prediction samples extracted based on the first prediction direction (eg, L0 prediction) and the prediction samples extracted based on the second prediction direction. Reconstructed samples and reconstructed pictures can be generated based on the extracted prediction samples, and as described above, a procedure such as in-loop filtering can subsequently be performed.

[0180][0180]

[0181] Аффинное предсказание движения[0181] Affine motion prediction

[0182] Фиг. 14 иллюстрирует пример моделей движения в соответствии с вариантом осуществления.[0182] FIG. 14 illustrates an example of motion patterns in accordance with an embodiment.

[0183] В обычной технологии сжатия изображения (например, высокоэффективном кодировании видео (HEVC)), один вектор движения используется для представления движения блока кодирования. Несмотря на то, что оптимальное движение единицы блока может быть представлено с использованием способа, использующего один вектор движения для каждого блока, это фактически может быть не оптимальным движением каждого элемента картинки. Соответственно, если оптимальный вектор движения определяется в единице элемента картинки, то может быть улучшена эффективность кодирования. Соответственно, вариант осуществления изобретения описывает способ предсказания движения кодирования или декодирования видеосигнала с использованием модели с несколькими движениями. В частности, вектор движения может быть представлен в каждой единице элемента картинки единицы блока или субблока с использованием вектора движения в точках управления от 2 до 4. Схема предсказания с использованием вектора движения множества точек управления может упоминаться как аффинное предсказание движения или аффинное предсказание.[0183] In conventional image compression technology (eg, high efficiency video coding (HEVC)), a single motion vector is used to represent the motion of a coding block. Although the optimal motion of a block unit can be represented using a method using one motion vector for each block, this may not actually be the optimal motion of each picture element. Accordingly, if the optimal motion vector is determined in a picture element unit, encoding efficiency can be improved. Accordingly, an embodiment of the invention describes a method for predicting motion encoding or decoding a video signal using a multi-motion model. Specifically, a motion vector may be represented in each picture element unit of a block or sub-block unit using the motion vector at control points 2 to 4. A prediction scheme using the motion vector of a plurality of control points may be referred to as affine motion prediction or affine prediction.

[0184] Аффинная модель движения в соответствии с вариантом осуществления изобретения может представлять собой 4 модели движения, такие как те, что проиллюстрированы на Фиг. 14. Аффинная модель движения для представления трех движений (параллельный перенос, масштабирование и поворот) среди движений, которые могут быть представлены аффинной моделью движения, называется аффинной моделью движения подобия (или упрощенной). При описании вариантов осуществления, аффинная модель движения подобия (или упрощенная) главным образом описывается для удобства описания, но изобретение этим не ограничено.[0184] The affine motion model according to an embodiment of the invention may be 4 motion models such as those illustrated in FIG. 14. An affine motion model to represent three motions (parallel translation, scaling and rotation) among the motions that can be represented by an affine motion model is called a similarity (or simplified) affine motion model. When describing embodiments, the affine similarity motion model (or simplified one) is mainly described for convenience of description, but the invention is not limited to this.

[0185][0185]

[0186] Фиг. 15 иллюстрирует пример вектора движения точки управления для аффинного предсказания движения в соответствии с вариантом осуществления изобретения.[0186] FIG. 15 illustrates an example of a control point motion vector for affine motion prediction in accordance with an embodiment of the invention.

[0187] Как показано на Фиг. 15, в аффинном предсказании движения, вектор движения местоположения элемента картинки (или субблока), включенного в блок, может быть определено с использованием пары из двух векторов движения точки управления (CPMV) v_0 и v_1. В данном случае, набор векторов движения может упоминаться как аффинное поле векторов движения (MVF). В данном случае, аффинное поле векторов движения может быть определено с использованием Уравнения 1.[0187] As shown in FIG. 15, in affine motion prediction, the motion vector of a picture element (or sub-block) location included in a block can be determined using a pair of two control point motion vectors (CPMVs) v_0 and v_1. In this case, the set of motion vectors may be referred to as an affine motion vector field (MVF). In this case, the affine field of motion vectors can be defined using Equation 1.

[0188] [Уравнение 1][0188] [Equation 1]

[0189] В Уравнении 1, v_0(v_0={v_0x, v_0y}) указывает вектор CPMV0 движения в первой точке управления верхнего левого местоположения текущего блока 1500. v_1(v_1={v_1x, v_1y}) указывает вектор CPMV1 движения во второй точке управления верхнего правого местоположения текущего блока 1500. Кроме того, w указывает ширину текущего блока 1500. v(v={v_x, v_y}) указывает вектор движения в местоположении {x, y}. Вектор движения единицы субблока (или элемента картинки) может быть извлечен с использованием Уравнения 1. В одном варианте осуществления, точность вектора движения может быть округлена до точности 1/16.[0189] In Equation 1, v_0(v_0={v_0x, v_0y}) indicates the motion vector CPMV0 at the first control point of the upper left location of the current block 1500. v_1(v_1={v_1x, v_1y}) indicates the motion vector CPMV1 at the second control point the top-right location of the current block 1500. Additionally, w indicates the width of the current block 1500. v(v={v_x, v_y}) indicates the motion vector at location {x, y}. The motion vector of a subblock unit (or picture element) can be extracted using Equation 1. In one embodiment, the motion vector precision can be rounded to a precision of 1/16.

[0190][0190]

[0191] Фиг. 16 иллюстрирует пример вектора движения для каждого субблока у блока, к которому было применено аффинное предсказание движения в соответствии с вариантом осуществления изобретения.[0191] FIG. 16 illustrates an example of a motion vector for each sub-block of a block to which affine motion prediction has been applied in accordance with an embodiment of the invention.

[0192] Обращаясь к Фиг. 16, в процессе кодирования или декодирования, аффинное поле векторов движения может быть определено в единице элемента картинки или единице блока. Т.е. в аффинном предсказании движения, вектор движения текущего блока может быть извлечен в единице элемента картинки или единице субблока.[0192] Referring to FIG. 16, in the encoding or decoding process, an affine field of motion vectors may be defined in a picture element unit or a block unit. Those. in affine motion prediction, the motion vector of the current block can be extracted in a picture element unit or a subblock unit.

[0193] Если аффинное поле векторов движения определяется в единице элемента картинки, то вектор движения может быть получен на основании каждого значения элемента картинки. В случае единицы блока, вектор движения соответствующего блока может быть получен на основании значения центрального элемента картинки у блока. В данном документе предполагается, что аффинное поле векторов движения (MVF) определяется в 4×4 единице блока, как на Фиг. 16. В данном случае, это для удобства описания, и вариант осуществления изобретения этим не ограничен. Фиг. 16 иллюстрирует пример случая, где блок кодирования конфигурируется с помощью 16×16 сэмплов и аффинное поле векторов движения (MVF) определяется в единице блока 4×4 размера.[0193] If the affine field of motion vectors is defined in the unit of a picture element, then the motion vector can be obtained based on each value of the picture element. In the case of a block unit, the motion vector of the corresponding block can be obtained based on the value of the central picture element of the block. Herein, it is assumed that an affine motion vector field (MVF) is defined in a 4x4 block unit as in FIG. 16. In this case, this is for convenience of description, and the embodiment of the invention is not limited to this. Fig. 16 illustrates an example of a case where a coding block is configured with 16x16 samples and an affine motion vector field (MVF) is defined in a block unit of size 4x4.

[0194] Аффинное предсказание движения может включать в себя аффинный режим слияния (или AF_MERGE) и аффинный межкадровый режим (или AF_INTER). Режим AF_INTER может включать в себя режим AF_4_INTER, использующий модель движения на основании 4 параметров и режим AF_6_INTER, использующий модель движения на основании 6 параметров.[0194] Affine motion prediction may include an affine merge mode (or AF_MERGE) and an affine interframe mode (or AF_INTER). The AF_INTER mode may include an AF_4_INTER mode using a 4-parameter motion model and an AF_6_INTER mode using a 6-parameter motion model.

[0195][0195]

[0196] Аффинный режим слияния[0196] Affine Merge Mode

[0197] AF_MERGE определяет вектор движения точки управления (CPMV) на основании аффинной модели движения соседнего блока, кодированного в качестве аффинного предсказания движений. Соседний блок, аффинно-кодированный в последовательности поиска может быть использован для AF_MERGE. Когда один или несколько соседних блоков кодируются как аффинное предсказание движения, текущий блок может быть кодирован как AF_MERGE.[0197] AF_MERGE determines a control point motion vector (CPMV) based on an affine motion model of a neighboring block encoded as an affine motion prediction. An adjacent block affine-coded in the search sequence can be used for AF_MERGE. When one or more neighboring blocks are encoded as an affine motion prediction, the current block may be encoded as AF_MERGE.

[0198] Т.е. если применяется аффинный режим слияния, CPMV текущего блока могут быть извлечены с использованием CPMV соседнего блока. В данном случае, CPMV соседнего блока могут быть использованы в качестве CPMV текущего блока без какого-либо изменения, и CPMV соседнего блока могут быть модифицированы на основании размера соседнего блока и размера текущего блока, и могут быть использованы в качестве CPMV текущего блока.[0198] That is if affine merge mode is applied, the CPMVs of the current block can be extracted using the CPMVs of the neighboring block. Here, the CPMVs of the neighboring block can be used as the CPMVs of the current block without any modification, and the CPMVs of the neighboring block can be modified based on the size of the neighboring block and the size of the current block, and can be used as the CPMVs of the current block.

[0199] Фиг. 17 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном режиме слияния в соответствии с вариантом осуществления изобретения.[0199] FIG. 17 illustrates an example of neighboring blocks that are used for affine motion prediction in an affine fusion mode in accordance with an embodiment of the invention.

[0200] В аффинном режиме слияния (AF_MERGE) кодер может выполнять кодирование согласно следующему процессу.[0200] In affine merge mode (AF_MERGE), the encoder can perform encoding according to the following process.

[0201] Этап-1: Сканируют соседние блоки с A по E 1710, 1720, 1730, 1740 и 1750 текущего блока 1700 кодирования в последовательности алфавита и определяют блок, сначала кодированный в соответствии с аффинным режимом предсказания на основании последовательности сканирования, в качестве блока-кандидата аффинного слияния (AF_MERGE)[0201] Step-1: Scan adjacent blocks A to E 1710, 1720, 1730, 1740 and 1750 of the current encoding block 1700 in an alphabet sequence, and determine the block first encoded in accordance with the affine prediction mode based on the scanning sequence as the block -affine fusion candidate (AF_MERGE)

[0202] Этап-2: Определяют аффинную модель движения с использованием вектора движения точки управления (CPMV) определенного блока-кандидата[0202] Step-2: Determine an affine motion model using the control point motion vector (CPMV) of the determined candidate block

[0203] Этап-3: Определяют вектор движения точки управления (CPMV) текущего блока 1700 на основании аффинной модели движения блока-кандидата и определяют MVF текущего блока 1700[0203] Step-3: Determine the control point motion vector (CPMV) of the current block 1700 based on the affine motion model of the candidate block and determine the MVF of the current block 1700

[0204][0204]

[0205] Фиг. 18 иллюстрирует пример блока, над которым аффинное предсказание движения выполняется с использованием соседних блоков, к которым было применено аффинное предсказание движения в соответствии с вариантом осуществления изобретения.[0205] FIG. 18 illustrates an example of a block on which affine motion prediction is performed using neighboring blocks to which affine motion prediction has been applied in accordance with an embodiment of the invention.

[0206] Например, как на Фиг. 18, если блок 1820 A был кодирован в соответствии с аффинным режимом, то после того, как блок 1820 A определяется в качестве блока-кандидата, аффинная модель движения может быть извлечена с использованием векторов движения точки управления (CPMV) (например, v2 и v3) блока 1820 A, и могут быть определены векторы движения точки управления (CPMV) v0 и v1 текущего блока 1800. Аффинное поле векторов движения (MVF) текущего блока 1800 может быть определено на основании векторов движения точки управления (CPMV) текущего блока 1800, и может быть выполнено кодирование.[0206] For example, as in FIG. 18, if block 1820 A has been encoded in accordance with the affine mode, then after block 1820 A is determined as a candidate block, an affine motion model can be extracted using control point motion vectors (CPMVs) (eg, v2 and v3 ) of block 1820 A, and the control point motion vectors (CPMV) v0 and v1 of the current block 1800 can be determined. An affine motion vector field (MVF) of the current block 1800 can be determined based on the control point motion vectors (CPMV) of the current block 1800, and coding can be done.

[0207][0207]

[0208] Фиг. 19 является схемой для описания способа формирования списка кандидатов на слияние с использованием соседнего аффинного блока кодирования в соответствии с вариантом осуществления изобретения.[0208] FIG. 19 is a diagram for describing a method for generating a merge candidate list using an adjacent affine encoding block in accordance with an embodiment of the invention.

[0209] Обращаясь к Фиг. 19, если пара CPMV определяется с использованием аффинного кандидата на слияние, то могут быть использованы кандидаты такие как те, что проиллюстрированы на Фиг. 19. На Фиг. 19, предполагается, что последовательность сканирования списка кандидатов была установлена как A, B, C, D и E. В данном случае, изобретение этим не ограничено, и могут быть предварительно установлены различные последовательности.[0209] Referring to FIG. 19, if a CPMV pair is determined using an affinity merge candidate, then candidates such as those illustrated in FIG. 19. In FIG. 19, it is assumed that the scanning sequence of the candidate list has been set to A, B, C, D and E. In this case, the invention is not limited to this, and various sequences can be preset.

[0210] В варианте осуществления, если количество кандидатов (здесь и далее упоминаются как аффинные кандидаты), которые кодируются в соответствии с аффинным режимом (или аффинным предсказанием), доступных в соседних блоках (т.е. A, B, C, D, E) соответствует 0, то аффинный режим слияния текущего блока может быть пропущен. Если количество доступных аффинных кандидатов соответствует одному (например, A), то модель движения соответствующего кандидата может быть использована для извлечения векторов движения точки управления (CPMV_0 и CPMV_1) текущего блока. В данном случае, индекс, указывающий соответствующего кандидата, может не требоваться (или кодироваться). Если количество доступных аффинных кандидатов соответствует двум или более, то два кандидата в последовательности сканирования могут быть сконфигурированы в качестве списка кандидатов для AF_MERGE. В данном случае, информация о выборе кандидата, такая как индекс, указывающий кандидата, который выбран в списке кандидатов, может быть просигнализирована. Информация о выборе может быть фагом или информацией об индексе, и может упоминаться как AF_MERGE_flag или AF_merge_idx.[0210] In an embodiment, if the number of candidates (hereinafter referred to as affine candidates) that are encoded according to an affine mode (or affine prediction) are available in adjacent blocks (i.e., A, B, C, D, E) matches 0, then the affine merge mode of the current block can be skipped. If the number of available affine candidates matches one (e.g., A), then the motion model of the corresponding candidate can be used to extract the control point motion vectors (CPMV_0 and CPMV_1) of the current block. In this case, the index indicating the corresponding candidate may not be required (or encoded). If the number of available affine candidates is two or more, then two candidates in the scan sequence can be configured as a candidate list for AF_MERGE. Here, candidate selection information such as an index indicating a candidate that is selected from the candidate list may be signaled. The selection information may be phage or index information, and may be referred to as AF_MERGE_flag or AF_merge_idx.

[0211] В варианте осуществления изобретения, компенсация движения для текущего блока может быть выполнена на основании размера субблока. В данном случае, извлекается размер субблока у аффинного блока (т.е. текущего блока). Если каждое из ширины и высоты субблока больше 4 сэмплов цветности, то может быть извлечен вектор движения для каждого субблока, и основанная на DCT-IF компенсация движения (1/16 элемента изображения для яркости и 1/32 для цветности) может быть выполнена над субблоком. Если нет, то компенсация движения на основании улучшенного фильтра билинейной интерполяции может быть выполнена над всеми аффинными блоками.[0211] In an embodiment of the invention, motion compensation for the current block may be performed based on the size of the sub-block. In this case, the subblock size of the affine block (i.e. the current block) is retrieved. If each of the subblock width and height is greater than 4 chroma samples, then the motion vector for each subblock can be extracted, and DCT-IF-based motion compensation (1/16 pixel for luma and 1/32 for chrominance) can be performed on the subblock . If not, then motion compensation based on an improved bilinear interpolation filter can be performed on all affine blocks.

[0212] В варианте осуществления изобретения, если флаг слияния/пропуска соответствует значению истина, и как ширина, так и высота CU больше или равны 8, на уровне CU, аффинный флаг сигнализируется посредством битового потока, указывая, используется ли аффинный режим слияния. Когда CU кодируется как AF_MERGE, индекс кандидата на слияние с максимальным значение ‘5’ сигнализируется, чтобы объявить, что кандидат на информацию о движении используется для CU в аффинном списке кандидатов на слияние.[0212] In an embodiment of the invention, if the merge/skip flag is true and both the width and height of the CU are greater than or equal to 8, at the CU level, the affine flag is signaled via a bitstream indicating whether the affine merge mode is used. When a CU is encoded as AF_MERGE, the merge candidate index with a maximum value of '5' is signaled to announce that the motion information candidate is used for the CU in the affine merge candidate list.

[0213][0213]

[0214] Фиг. 20 и 21 являются схемами для описания способа создания аффинного списка кандидатов на слияние с использованием соседнего блока, кодированного посредством аффинного предсказания в соответствии с вариантом осуществления изобретения.[0214] FIG. 20 and 21 are diagrams for describing a method for creating an affine merge candidate list using a neighbor block encoded by affine prediction in accordance with an embodiment of the invention.

[0215] Обращаясь к Фиг. 20, аффинный список кандидатов на слияние конфигурируется посредством следующих этапов.[0215] Referring to FIG. 20, the affine merge candidate list is configured through the following steps.

[0216] 1) Вставка основанного на модели аффинного кандидата[0216] 1) Inserting a model-based affine candidate

[0217] Основанный на модели аффинный кандидат означает, что кандидат извлекается из действительного соседнего восстановленного блока, кодированного в соответствии с аффинным режимом. Как проиллюстрировано на Фиг. 20, последовательность сканирования для блока-кандидата соответствует от левого A, верхнего B, верхнего правого C и нижнего левого D к верхнему левому E.[0217] A model-based affine candidate means that the candidate is extracted from a valid neighboring reconstructed block encoded according to an affine mode. As illustrated in FIG. 20, the scan sequence for a candidate block corresponds from left A, top B, top right C and bottom left D to top left E.

[0218] Если соседний нижний левый блок A является кодированным в аффинном режиме с 6 параметрами, то получаются вектора движения (v_4, v_5, v_6) верхнего левого угла, верхнего правого угла и нижнего левого угла у CU, включающей в себя блок A. Вектора движения (v_0, v_1, v_2) верхнего левого угла текущего блока вычисляются на основании векторов движения (v_4, v_5 и v_6) в соответствии с аффинной моделью с 6 параметрами.[0218] If the adjacent lower left block A is 6-parameter affine mode encoded, then the motion vectors (v_4, v_5, v_6) of the upper left corner, upper right corner and lower left corner of the CU including block A are obtained. Vectors the motions (v_0, v_1, v_2) of the top left corner of the current block are calculated based on the motion vectors (v_4, v_5 and v_6) according to a 6-parameter affine model.

[0219] Если соседний нижний левый блок A является кодированным в аффинном режиме с 4 параметрами, то получаются векторы движения (v_4, v_5) верхнего левого угла и верхнего правого угла у CU, включающей в себя блок A. Векторы движения (v_0, v_1) верхнего левого угла у текущего блока вычисляются на основании векторов движения (v_4, v_5) в соответствии с аффинной моделью с 4 параметрами.[0219] If the adjacent lower left block A is 4-parameter affine mode encoded, then the upper left corner and upper right corner motion vectors (v_4, v_5) of the CU including block A are obtained. Motion vectors (v_0, v_1) the upper left corner of the current block are calculated based on the motion vectors (v_4, v_5) in accordance with the affine model with 4 parameters.

[0220] 2) Вставка основанных на точке управления аффинных кандидатов[0220] 2) Inserting control point-based affine candidates

[0221] Обращаясь к Фиг. 20, основанный на точке управления кандидат означает, что кандидат конфигурируется путем объединения соседней информации о движении точек управления.[0221] Referring to FIG. 20, a control point-based candidate means that the candidate is configured by combining adjacent motion information of control points.

[0222] Информация о движении точек управления сначала извлекается из назначенных пространственных соседних блоков и временного соседнего блока, проиллюстрированного на Фиг. 20. CP_k (k=1, 2, 3, 4) указывает k-ую точку управления. Кроме того, A, B, C, D, E, F и G являются пространственными местоположениями для предсказания CP_k (k=1, 2, 3), и H является временным местоположением для предсказания CP4.[0222] Control point movement information is first extracted from the assigned spatial neighbor blocks and the temporal neighbor block illustrated in FIG. 20. CP_k (k=1, 2, 3, 4) indicates the k-th control point. In addition, A, B, C, D, E, F and G are the spatial locations for the prediction of CP_k (k=1, 2, 3), and H is the temporal location for the prediction of CP4.

[0223] Координаты CP_1, CP_2, CP_3 и CP_4 являются (0, 0), (W, 0), (H, 0) и (W, H), соответственно. В данном случае, W и H являются шириной и высотой текущего блока.[0223] The coordinates of CP_1, CP_2, CP_3 and CP_4 are (0, 0), (W, 0), (H, 0) and (W, H), respectively. In this case, W and H are the width and height of the current block.

[0224] Информация о движении каждой точки управления получается на основании следующего приоритета.[0224] The movement information of each control point is obtained based on the next priority.

[0225] Что касается CP_1, приоритет проверки соответствует A→B→C и A используется, если A доступен. Если недоступен, и если доступен B, то используется B. Если недоступен как A, так и B, то используется C. Если недоступны все три кандидата, информация о движении CP_1 не может быть получена.[0225] As for CP_1, the test priority is A→B→C and A is used if A is available. If unavailable and if B is available, then B is used. If both A and B are unavailable, then C is used. If all three candidates are unavailable, CP_1 traffic information cannot be obtained.

[0226] Что касается CP_2, приоритет проверки соответствует E→D.[0226] As for CP_2, the test priority is E→D.

[0227] Что касается CP_3, приоритет проверки соответствует G→F.[0227] As for CP_3, the check priority is G→F.

[0228] Что касается CP_4, используется H.[0228] Regarding CP_4, H is used.

[0229] Во-вторых, сочетания точек управления используются для конфигурирования модели движения.[0229] Second, combinations of control points are used to configure the motion pattern.

[0230] Векторы движения двух точек управления необходимы для вычисления параметров преобразования в аффинной модели с 4 параметрами. Две точки управления могут быть выбраны из одного из следующих 6 сочетаний {CP_1, CP_4}, {CP_2, CP_3}, {CP_1, CP_2}, {CP_2, CP_4}, {CP_1, CP_3} и {CP_3, CP_4}. Например, для использования точек управления CP_1 и CP_2 при создании аффинной модели движения с 4 параметрами они помечаются как «аффинные (CP_1, CP_2)».[0230] The motion vectors of the two control points are needed to calculate the transformation parameters in the 4-parameter affine model. The two control points can be selected from one of the following 6 combinations {CP_1, CP_4}, {CP_2, CP_3}, {CP_1, CP_2}, {CP_2, CP_4}, {CP_1, CP_3} and {CP_3, CP_4}. For example, to use control points CP_1 and CP_2 when creating a 4-parameter affine motion model, they are labeled "affine (CP_1, CP_2)".

[0231] Векторы движения трех точек управления необходимы для вычисления параметров преобразования в аффинной модели с 6 параметрами. Три точки управления могут быть выбраны из одного из следующих 4 сочетаний {CP_1, CP_2, CP_4}, {CP_1, CP_2, CP_3}, {CP_2, CP_3, CP_4} и {CP_1, CP_3, CP_4}. Например, для использования точек управления CP_1, CP_2 и CP_3 при создании аффинной модели движения с 6 параметрами они помечаются как «аффинные (CP_1, CP_2, CP_3)».[0231] The motion vectors of the three control points are needed to calculate the transformation parameters in the 6-parameter affine model. The three control points can be selected from one of the following 4 combinations {CP_1, CP_2, CP_4}, {CP_1, CP_2, CP_3}, {CP_2, CP_3, CP_4} and {CP_1, CP_3, CP_4}. For example, to use control points CP_1, CP_2 and CP_3 when creating a 6-parameter affine motion model, they are labeled as “affine (CP_1, CP_2, CP_3)”.

[0232] Кроме того, в варианте осуществления изобретения, если аффинный кандидат на слияние присутствует в аффинном режиме слияния, то это может всегда считаться аффинным режимом с 6 параметрами.[0232] Moreover, in an embodiment of the invention, if an affine merge candidate is present in an affine merge mode, then it may always be considered a 6-parameter affine mode.

[0233][0233]

[0234] Аффинный межкадровый режим[0234] Affine Interframe Mode

[0235] Фиг. 22 иллюстрирует пример соседних блоков, которые используются для аффинного режима предсказания в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.[0235] FIG. 22 illustrates an example of adjacent blocks that are used for affine prediction mode in affine interframe mode in accordance with an embodiment of the invention.

[0236] Обращаясь к Фиг. 22, аффинное предсказание движения может включать в себя аффинный режим слияния (или AF_MERGE) и аффинный межкадровый режим (или AF_INTER). В аффинном межкадровом режиме (AF_INTER) после того как определяется 2-предсказание векторов движения точки управления (CPMVP) и CPMV, разность векторов движения точки управления (CPMVD), соответствующая разности, может быть передана от кодера декодеру. Подробный процесс кодирования аффинного межкадрового режима (AF_INTER) может быть точно таким как тот, что описан ниже.[0236] Referring to FIG. 22, affine motion prediction may include an affine merging mode (or AF_MERGE) and an affine interframe mode (or AF_INTER). In the affine interframe mode (AF_INTER), after the 2-prediction of control point motion vectors (CPMVP) and CPMV are determined, a control point motion vector difference (CPMVD) corresponding to the difference can be transmitted from the encoder to the decoder. The detailed affine interframe mode (AF_INTER) encoding process may be exactly as described below.

[0237] Этап-1: Определяют кандидата в пару из двух CPMVP[0237] Step-1: Determine a candidate for a pair of two CPMVPs

[0238] Этап 1.1: Определяют максимум 12 сочетаний кандидатов CPMVP (обратитесь к Уравнению 2)[0238] Step 1.1: Determine a maximum of 12 CPMVP candidate combinations (refer to Equation 2)

[0239] [Уравнение 2][0239] [Equation 2]

[0240] В Уравнении 2, v_0 указывает вектор движения CPMV0 в верхней левой точке 2210 управления текущего блока 2200. v_1 указывает вектор движения CPMV1 в верхней правой точке 2211 управления текущего блока 2200. v_2 указывает вектор движения CPMV2 в точке 2212 управления на нижней левой стороне текущего блока 2200. v_A указывает вектор движения соседнего блока 2220 A, который находится по соседству сверху слева с верхней левой точкой 2210 управления текущего блока 2200. v_B указывает вектор движения соседнего блока 2222 B, который находится по соседству сверху с верхней левой точкой 2210 управления текущего блока 2200. v_C указывает вектор движения соседнего блока 2224 C, который находится по соседству слева с верхней левой точкой 2210 управления текущего блока 2200. v_D указывает вектор движения соседнего блока 2226 D, который находится по соседству сверху с верхней правой точкой 2211 управления текущего блока 2200. v_E указывает вектор движения соседнего блока 2228 E, который находится по соседству сверху справа с верхней правой точкой 2211 управления текущего блока 2200. v_F указывает вектор движения соседнего блока 2230 F, который находится по соседству слева с нижней левой точкой 2212 управления текущего блока 2200. v_G указывает вектор движения соседнего блока 2232 G, который находится по соседству слева с нижней левой точкой 2212 управления текущего блока 2200.[0240] In Equation 2, v_0 indicates the motion vector CPMV0 at the upper left control point 2210 of the current block 2200. v_1 indicates the motion vector CPMV1 at the upper right control point 2211 of the current block 2200. v_2 indicates the motion vector CPMV2 at the control point 2212 on the lower left side of the current block 2200. v_A indicates the motion vector of an adjacent block 2220 A that is adjacent to the top left control point 2210 of the current block 2200. v_B indicates the motion vector of an adjacent block 2222 B that is adjacent to the top left control point 2210 of the current block 2200. v_C indicates the motion vector of the adjacent block 2224 C, which is adjacent to the left of the upper left control point 2210 of the current block 2200. v_D indicates the motion vector of the adjacent block 2226 D, which is adjacent to the upper right control point 2211 of the current block 2200 v_E indicates the motion vector of an adjacent E block 2228 that is adjacent to the upper right control point 2211 of the current block 2200. v_F indicates the motion vector of an adjacent F block 2230 that is adjacent to the lower left control point 2212 of the current block 2200. v_G indicates the motion vector of the adjacent block 2232 G, which is adjacent to the left of the lower left control point 2212 of the current block 2200.

[0241] Этап-1.2: Сортируют сочетания-кандидаты CPMVP на основании значения с небольшим значением разности (DV) и используют двух лучших кандидатов (обратитесь к Уравнению 3 ниже).[0241] Step-1.2: Sort the candidate CPMVP combinations based on the value with a small difference value (DV) and use the two best candidates (refer to Equation 3 below).

[0242] [Уравнение 3][0242] [Equation 3]

[0243] v_0x указывает элемент оси x вектора движения (V0 или CPMV0) в верхней левой точке 2210 управления текущего блока 2200. v_1x указывает элемент оси x вектора движения (V1 или CPMV1) в верхней правой точке 2211 управления текущего блока 2200. v_2x указывает элемент оси x вектора движения (V_2 или CPMV_2) в нижней левой точке 2212 управления текущего блока 2200. v_0y указывает элемент оси y вектора движения (V_0 или CPMV_0) в верхней левой точке 2210 управления текущего блока 2200. v_1y указывает элемент оси y вектора движения (V_1 или CPMV_1) в верхней правой точке 2211 управления текущего блока 2200. v_2y указывает элемент оси y вектора движения (V_2 или CPMV_2_ в нижней левой точке управления 2212 текущего блок 2200. w указывает ширину текущего блока 2200. h указывает высоту текущего блока 2200.[0243] v_0x indicates the motion vector x-axis element (V0 or CPMV0) at the upper left control point 2210 of the current block 2200. v_1x indicates the motion vector x-axis element (V1 or CPMV1) at the upper right control point 2211 of the current block 2200. v_2x indicates the element the x-axis motion vector (V_2 or CPMV_2) at the lower left control point 2212 of the current block 2200. v_0y indicates the y-axis element of the motion vector (V_0 or CPMV_0) at the upper left control point 2210 of the current block 2200. v_1y indicates the y-axis element of the motion vector (V_1 or CPMV_1) at the upper right control point 2211 of the current block 2200. v_2y indicates the y-axis element of the motion vector (V_2 or CPMV_2_ at the lower left control point 2212 of the current block 2200. w indicates the width of the current block 2200. h indicates the height of the current block 2200.

[0244] Этап-2: Используют список кандидатов AMVP, когда кандидат пары предсказателя вектора движения точки управления (CPMVP) меньше 2[0244] Step-2: Use the AMVP candidate list when the control point motion vector predictor pair (CPMVP) candidate is less than 2

[0245] Этап-3: Определяют предсказателя вектора движения точки управления (CPMVP) каждого из двух кандидатов и оптимальным образом выбирают кандидата с наименьшим значением путем сравнения стоимостей RD и CPMV[0245] Step-3: Determine the control point motion vector predictor (CPMVP) of each of the two candidates and optimally select the candidate with the smallest value by comparing the costs of RD and CPMV

[0246] Этап-4: Передают индекс, соответствующий оптимальному кандидату и разность векторов движения точки управления (CPMVD)[0246] Step-4: Transmit the index corresponding to the optimal candidate and the control point motion vector difference (CPMVD)

[0247] В варианте осуществления изобретения предоставляется процесс создания кандидата на CPMVP в AF_INTER. Идентично AMVP, количество кандидатов соответствует 2 и сигнализируется индекс, указывающий местоположение в списке кандидатов.[0247] In an embodiment of the invention, a process for creating a CPMVP candidate in AF_INTER is provided. Identical to AMVP, the number of candidates is set to 2 and an index indicating the location in the candidate list is signaled.

[0248] Процесс создания списка кандидатов на CPMVP является следующим.[0248] The process for creating a CPMVP candidate list is as follows.

[0249] 1) Кодируются ли соседние блоки как аффинное предсказание движения, проверяется путем сканирования соседних блоков. Если просканированные блоки являются кодированными как аффинное предсказание, пара векторов движения текущего блока извлекается аффинной модели движения просканированного соседнего блока до тех пор, пока количество кандидатов не станет 2.[0249] 1) Whether neighboring blocks are encoded as affine motion prediction is checked by scanning neighboring blocks. If the scanned blocks are encoded as affine prediction, a pair of motion vectors of the current block is extracted by the affine motion model of the scanned neighboring block until the number of candidates becomes 2.

[0250] 2) Если количество кандидатов меньше 2, выполняется процесс конфигурации кандидата. Кроме того, в варианте осуществления изобретения, аффинный межкадровый режим с 4 параметрами (с 2 точками управления) используется для предсказания модели движения увеличения/уменьшения масштаба и поворота и контента. Как проиллюстрировано на Фиг. 15, аффинное поле движения блока описывается двумя векторами движения точки управления.[0250] 2) If the number of candidates is less than 2, the candidate configuration process is performed. Moreover, in an embodiment of the invention, a 4-parameter (2-control point) affine interframe mode is used to predict the zoom in/out motion pattern and rotation and content. As illustrated in FIG. 15, the affine field of block motion is described by two motion vectors of the control point.

[0251] Поле векторов движения (MVF) блока описывается посредством Уравнения 1 выше.[0251] The motion vector field (MVF) of a block is described by Equation 1 above.

[0252] В обычной технологии, режим усовершенствованного предсказания вектора движения (AMVP) необходим для сканирования индекса предсказания вектора движения (MVP) и разности векторов движения (MVD). Когда режим AMVP применяется к изобретению, аффинный флаг (affine_flag) сигнализируется для указания, используется ли аффинное предсказание. Если аффинное предсказание применяется, сигнализируются синтаксисы inter_dir, ref_idx, mvp_index, и две MVD (mvd_x и mvd_y). Формируется список кандидатов на аффинную пару MVP, включающий в себя две аффинные пары MVP. Просигнализированный mvp_index используется для выбора одной из двух аффинных пар MVP. Аффинная пара MVP формируется двумя типами аффинных кандидатов на MVP. Один является пространственным унаследованным аффинным кандидатом, а другой является извлеченным из угла аффинным кандидатом. Если соседние CU кодируются в аффинном режиме, то могут быть сформированы пространственные унаследованные аффинные кандидаты. Аффинная модель движения соседнего аффинно-кодированного блока используется для формирования векторов движения пары MVP с 2 точками управления. MV пары MVP с 2 точками управления пространственного унаследованного аффинного кандидата извлекаются с использованием следующих уравнений.[0252] In conventional technology, an advanced motion vector prediction (AMVP) mode is required to scan the motion vector prediction (MVP) index and motion vector difference (MVD). When AMVP mode is applied to an invention, an affine flag (affine_flag) is signaled to indicate whether affine prediction is used. If affine prediction is applied, the syntaxes inter_dir, ref_idx, mvp_index, and two MVDs (mvd_x and mvd_y) are signaled. A list of candidates for the MVP affine pair is generated, which includes two MVP affine pairs. The signaled mvp_index is used to select one of two MVP affine pairs. An MVP affine pair is formed by two types of affine MVP candidates. One is a spatial inherited affine candidate, and the other is a corner-extracted affine candidate. If neighboring CUs are encoded in affine mode, then spatial inherited affine candidates can be generated. The affine motion model of the adjacent affine-coded block is used to generate the motion vectors of a pair of MVPs with 2 control points. The MVs of MVP pairs with 2 spatial legacy affine candidate control points are extracted using the following equations.

[0253] [Уравнение 4][0253] [Equation 4]

V0x=VB0x + (VB2_x - VB0x) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1x - VB0x) * (posCurCU_X - posRefCU_X) / RefCU_widthV0x=VB0x + (VB2_x - VB0x) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1x - VB0x) * (posCurCU_X - posRefCU_X) / RefCU_width

[0254] [Уравнение 5][0254] [Equation 5]

V0y=VB0y + (VB2_y - VB0y) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1y - VB0y) * (posCurCU_X - posRefCU_X) / RefCU_widthV0y=VB0y + (VB2_y - VB0y) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1y - VB0y) * (posCurCU_X - posRefCU_X) / RefCU_width

[0255] Если V_B0, V_B1 и V_B2 могут быть замещены верхним левым MV, верхним правым MV и нижним левым MV заданной опорной/соседней CU, то (posCurCU_X, posCurCU_Y) являются местоположением верхнего левого сэмпла текущей CU для верхнего левого сэмпла кадра. (posRefCU_X, posRefCU_Y) является местоположением верхнего левого сэмпла опорной/соседней CU для верхнего левого сэмпла кадра.[0255] If V_B0, V_B1 and V_B2 can be replaced by the top left MV, top right MV and bottom left MV of a given reference/neighboring CU, then (posCurCU_X, posCurCU_Y) are the location of the top left sample of the current CU for the top left sample of the frame. (posRefCU_X, posRefCU_Y) is the location of the top left sample of the reference/neighboring CU for the top left sample of the frame.

[0256] [Уравнение 6][0256] [Equation 6]

V1x=VB0x + (VB1x - VB0x) * CU_width/RefCU_widthV1x=VB0x + (VB1x - VB0x) * CU_width/RefCU_width

[0257] [Уравнение 7][0257] [Equation 7]

V1y=VB0y + (VB1y - VB0y) * CU_width/RefCU_widthV1y=VB0y + (VB1y - VB0y) * CU_width/RefCU_width

[0258] Фиг. 23 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.[0258] FIG. 23 illustrates an example of adjacent blocks that are used for affine motion prediction in an affine interframe mode in accordance with an embodiment of the invention.

[0259] Обращаясь к Фиг. 23, когда количество пар MVP меньше 2, используется извлеченный из угла аффинный кандидат. Как проиллюстрировано на Фиг. 23, соседние векторы движения используются для извлечения аффинной пары MVP. Что касается первого извлеченного из угла аффинного кандидата, то первый доступный MV в наборе A (A0, A1 и A2) и первый доступный MV в наборе B (B0 и B1) используются для конфигурирования первой пары MVP. Что касается второго извлеченного из угла аффинного кандидата, то первый доступный MV в наборе A и первый доступный MV в наборе C (C0 и C1) используются для вычисления MV верхней правой точки управления. Первый доступный MV в наборе A и вычисленный MV верхней правой точки управления являются второй парой MVP.[0259] Referring to FIG. 23, when the number of MVP pairs is less than 2, the affine candidate extracted from the corner is used. As illustrated in FIG. 23, the adjacent motion vectors are used to extract the affine pair MVP. Regarding the first affine candidate extracted from the corner, the first available MV in set A (A0, A1 and A2) and the first available MV in set B (B0 and B1) are used to configure the first pair of MVPs. As for the second corner-extracted affine candidate, the first available MV in set A and the first available MV in set C (C0 and C1) are used to calculate the MV of the top-right control point. The first available MV in set A and the computed MV of the top right control point are the second MVP pair.

[0260] В варианте осуществления изобретения, два набора кандидатов, включающих в себя два (три) кандидата {mv_0, mv_1} ({mv_0, mv_1, mv_2) используются для предсказания двух (трех) точек управления аффинной модели движения. Заданные разности векторов движения (mvd_0, mvd_1, mvd_2) и точки управления вычисляются с использованием следующих уравнений.[0260] In an embodiment of the invention, two candidate sets including two (three) candidates {mv_0, mv_1} ({mv_0, mv_1, mv_2) are used to predict two (three) control points of the affine motion model. The specified motion vector differences (mvd_0, mvd_1, mvd_2) and control points are calculated using the following equations.

[0261] [Уравнение 8][0261] [Equation 8]

[0262] Фиг. 24 и 25 являются схемами, иллюстрирующими способ извлечения кандидата на вектор движения с использованием информации о движении соседнего блока в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.[0262] FIG. 24 and 25 are diagrams illustrating a method for extracting a motion vector candidate using motion information of a neighboring block in an affine interframe mode in accordance with an embodiment of the invention.

[0263] В аффинном списке кандидатов аффинное движение распространяется от пространственных соседних блоков (экстраполированные аффинные кандидаты), и аффинный список кандидатов дополняется сочетанием векторов движения из пространственных соседних блоков (виртуальные аффинные кандидаты). Наборы кандидатов устанавливаются следующим образом:[0263] In an affine candidate list, affine motion is propagated from spatial neighboring blocks (extrapolated affine candidates), and the affine candidate list is augmented with a combination of motion vectors from spatial neighboring blocks (virtual affine candidates). Candidate sets are established as follows:

[0264] 1. Максимум два разных набора аффинных предсказателей MV извлекаются из аффинного движения соседних блоков. Соседние блоки A0, A1, B0, B1 и B2 проверяются как проиллюстрировано на Фиг. 24. Если соседний блок кодируется посредством аффинной модели движения и соответствующий опорный кадр является тем же самым, что и опорный кадр текущего блока, то две точки управления (для аффинной модели с 4 параметрами) текущего блока или три точки управления (для аффинной модели с 6 параметрами) текущего блока извлекаются из аффинной модели соседних блоков.[0264] 1. At most two different sets of affine MV predictors are extracted from the affine motion of neighboring blocks. Neighboring blocks A0, A1, B0, B1 and B2 are checked as illustrated in FIG. 24. If an adjacent block is encoded by an affine motion model and the corresponding reference frame is the same as the reference frame of the current block, then two control points (for a 4-parameter affine model) of the current block or three control points (for a 6-parameter affine model) parameters) of the current block are extracted from the affine model of neighboring blocks.

[0265] 2. Фиг. 25 иллюстрирует соседние блоки, которые используются для формирования набора виртуальных аффинных кандидатов. Соседние MV делятся на три группы: S_0={mv_A, mv_B, mv_C}, S_1={mv_D, mv_E} и S_2={mv_F, mv_G}. mv_0 является первым MV, который ссылается на ту же самую опорную картинку, как та что у текущего блока в S0. mv_2 является первыс MV, который ссылается на ту же самую опорную картинку, как та что у текущего блока в S1.[0265] 2. FIG. 25 illustrates the adjacent blocks that are used to form a set of virtual affine candidates. Neighboring MVs are divided into three groups: S_0={mv_A, mv_B, mv_C}, S_1={mv_D, mv_E} and S_2={mv_F, mv_G}. mv_0 is the first MV that references the same reference picture as the one of the current block in S0. mv_2 is the first MV that references the same reference picture as the one of the current block in S1.

[0266] Если mv_0 и mv_1 заданы, то mv_2 может быть извлечено посредством Уравнения 9 ниже.[0266] If mv_0 and mv_1 are given, then mv_2 can be retrieved by Equation 9 below.

[0267] [Уравнение 9][0267] [Equation 9]

[0268] В Уравнении 9 размер текущего блока соответствует W×H.[0268] In Equation 9, the size of the current block corresponds to W×H.

[0269] Если заданы только mv_0 и mv_2, то mv_1 может быть извлечен посредством Уравнения 10 ниже.[0269] If only mv_0 and mv_2 are specified, then mv_1 can be extracted by Equation 10 below.

[0270] [Уравнение 10][0270] [Equation 10]

[0271] В варианте осуществления изобретения, аффинное межкадровое предсказание может быть выполнено в соответствии со следующей последовательностью.[0271] In an embodiment of the invention, affine inter-frame prediction can be performed in accordance with the following sequence.

[0272] Ввод: аффинные параметры движения, сэмплы опорной картинки[0272] Input: affine motion parameters, reference picture samples

[0273] Вывод: блок предсказания CU[0273] Output: CU prediction block

[0274] Процессор[0274] Processor

[0275] Извлекают размер субблока у аффинного блока[0275] Retrieves the subblock size of the affine block

[0276] - Если как ширина, так и высота субблока больше 4 сэмплов яркости,[0276] - If both the width and height of the subblock are greater than 4 luminance samples,

[0277] -- Что касается каждого субблока,[0277] -- For each subblock,

[0278] - Извлекают вектор движения субблока[0278] - Extract the motion vector of the subblock

[0279] - Выполняют компенсацию движения (1/16 единицы изображения для яркости и 1/32 единицы изображения для цветности) на основании DCT-IF над субблоками (вызывается)[0279] - Perform motion compensation (1/16 image unit for luma and 1/32 image unit for chrominance) based on DCT-IF over subblocks (called)

[0280] - Если нет, то выполняется (вызывается) компенсация, основанная на улучшенном фильтре билинейной интерполяции над всеми аффинными блоками[0280] - If not, then compensation is performed (called) based on the improved bilinear interpolation filter on all affine blocks

[0281] Кроме того, в варианте осуществления изобретения, если флаг слияния/пропуска соответствует значению ложь и ширина и высота CU больше или равны 8, то аффинный флаг сигнализируется для того, чтобы указать, будет ли использован аффинный межкадровый режим на уровне CU. Если CU кодируется в аффинном межкадровом режиме, то флаг модели сигнализируется для того, чтобы указать, применяется ли аффинная модель с 4 параметрами или 6 параметрами к CU. Если флаг модели соответствует значению истина, то применяется режим AF_6_INTER (аффинная модель с 6 параметрами) и анализируются MVD. Если нет, то применяется режим AF_4_INTER (аффинная модель с 4 параметрами), и анализируются две MVD.[0281] Moreover, in an embodiment of the invention, if the merge/skip flag is false and the CU width and height are greater than or equal to 8, then the affine flag is signaled to indicate whether the affine interframe mode at the CU level will be used. If the CU is encoded in affine interframe mode, then a model flag is signaled to indicate whether a 4-parameter or 6-parameter affine model is applied to the CU. If the model flag is true, then the AF_6_INTER mode (affine model with 6 parameters) is applied and the MVDs are analyzed. If not, then AF_4_INTER mode (affine model with 4 parameters) is applied and two MVDs are analyzed.

[0282] В режиме AF_4_INTER, подобно аффинному режиму слияния, формируются пары векторов движения, экстраполированных из соседних блоков, кодированных посредством аффинного режима, и предпочтительно вставляются в список кандидатов.[0282] In the AF_4_INTER mode, like the affine merge mode, pairs of motion vectors extrapolated from adjacent blocks encoded by the affine mode are generated and preferably inserted into the candidate list.

[0283] Затем, если размер списка кандидатов меньше 4, то кандидаты с парой векторов движения {(v_0,v_1)|v0={v_A, v_B, v_c},v_1={v_D, v_E}} формируются с использованием соседних блоков. Как проиллюстрировано на Фиг. 25, v_0 выбирается из векторов движения блоков A, B и C. Вектор движения из соседнего блока масштабируется на основании отношения между опорным списком, POC для ссылки на соседний блок, POC для ссылки на текущую CU и текущей CU. Кроме того, способ подхода выбора v_1 из соседних блоков D и E является подобным. Когда список кандидатов больше 4, кандидаты сначала сортируются на основании связанности соседних векторов движения (подобно двум векторам движения в паре кандидатов), и первые 4 кандидата сохраняются.[0283] Then, if the candidate list size is less than 4, then candidates with motion vector pair {(v_0,v_1)|v0={v_A, v_B, v_c},v_1={v_D, v_E}} are generated using adjacent blocks. As illustrated in FIG. 25, v_0 is selected from the motion vectors of blocks A, B, and C. The motion vector from the adjacent block is scaled based on the relationship between the reference list, the POC for the reference to the adjacent block, the POC for the reference to the current CU, and the current CU. Moreover, the approach method for selecting v_1 from neighboring blocks D and E is similar. When the candidate list is larger than 4, the candidates are first sorted based on the relatedness of adjacent motion vectors (similar to two motion vectors in a candidate pair), and the first 4 candidates are kept.

[0284] Если количество списков кандидатов меньше 4, то список заполняется парой векторов движения путем дублирования кандидатов AMVP.[0284] If the number of candidate lists is less than 4, then the list is populated with a pair of motion vectors by duplicating AMVP candidates.

[0285] В режиме AF_6_INTER, аналогично аффинному режиму слияния, формируются тройки векторов движения (аффинные тройки векторов движения), которые экстраполируются из соседних блоков, кодированных в аффинном режиме слияния, и предпочтительно вставляются в список кандидатов.[0285] In the AF_6_INTER mode, similar to the affine merge mode, motion vector triplets (affine motion vector triplets) are generated which are extrapolated from adjacent blocks encoded in the affine merge mode and preferentially inserted into the candidate list.

[0286] После этого, когда размер списка кандидатов меньше 4, кандидаты, включающие в себя тройки векторов движения {(v_0, v_1, v_2)| v0={v_A, v_B, v_c}, v1={v_D, v_E}, v2={v_G, v_H}} формируются с использованием соседних блоков. Как проиллюстрировано на Фиг. 25, v_0 выбирается из векторов движения блока A, B или C. Вектор движения из соседнего блока масштабируется на основании отношения между опорным списком, POC для ссылки на соседний блок, POC для ссылки на текущую CU и текущей CU. Кроме того, подход для выбора v_1 из соседних блоков D и E является подобным выбору v_2 из F и G. Когда список кандидатов больше 4, кандидаты сортируются на основании связанности соседних векторов движения (подобно двум векторам движения в трех кандидатах), и первые 4 кандидата сохраняются.[0286] Thereafter, when the size of the candidate list is less than 4, the candidates including motion vector triplets {(v_0, v_1, v_2)| v0={v_A, v_B, v_c}, v1={v_D, v_E}, v2={v_G, v_H}} are formed using neighboring blocks. As illustrated in FIG. 25, v_0 is selected from the motion vectors of block A, B, or C. The motion vector from the adjacent block is scaled based on the relationship between the reference list, the POC for the reference to the adjacent block, the POC for the reference to the current CU, and the current CU. Moreover, the approach for selecting v_1 from neighboring blocks D and E is similar to selecting v_2 from F and G. When the candidate list is larger than 4, the candidates are sorted based on the relatedness of adjacent motion vectors (similar to two motion vectors in three candidates), and the first 4 candidates are saved.

[0287] Когда количество списков кандидатов меньше 4, список может быть заполнен тройками векторов движения, сконфигурированных путем дублирования соответствующих кандидатов AMVP.[0287] When the number of candidate lists is less than 4, the list can be populated with motion vector triplets configured by duplicating the corresponding AMVP candidates.

[0288] После того как извлекается CPMV у текущей CU, MVF у текущей CU формируется в соответствии с Уравнением 11 для аффинной модели с 4 параметрами и формируется в соответствии с Уравнением 12 для аффинной модели с 6 параметрами, на основании количества аффинных параметров.[0288] After the CPMV of the current CU is extracted, the MVF of the current CU is generated in accordance with Equation 11 for a 4-parameter affine model and is generated in accordance with Equation 12 for a 6-parameter affine model, based on the number of affine parameters.

[0289] [Уравнение 11][0289] [Equation 11]

[0290] [Уравнение 12][0290] [Equation 12]

[0291] В данном случае размер M×N субблока извлекается в Уравнении 13 и MvPre является точностью части вектора движения (1/16).[0291] In this case, the subblock size M×N is extracted in Equation 13 and MvPre is the precision of the motion vector portion (1/16).

[0292] [Уравнение 13][0292] [Equation 13]

[0293] После извлечения посредством Уравнения 12, M и N должны быть скорректированы в сторону уменьшения, при необходимости, для того, чтобы сделать их делителем w и h. Когда M или N меньше 8, применяется WIF. Если нет, то применяется аффинная компенсация движения на основании субблока.[0293] Once extracted by Equation 12, M and N must be adjusted downward, if necessary, to make them a divisor of w and h. When M or N is less than 8, WIF is applied. If not, then affine motion compensation is applied based on the subblock.

[0294] Фиг. 26 иллюстрирует пример аффинного поля векторов движения единицы субблока в соответствии с вариантом осуществления изобретения.[0294] FIG. 26 illustrates an example of an affine field of motion vectors of a subblock unit in accordance with an embodiment of the invention.

[0295] Обращаясь к Фиг. 26, для того, чтобы извлечь вектор движения каждого M×N субблока, вектор движения центрального сэмпла каждого субблока, такой как тот, что проиллюстрирован на Фиг. 26, вычисляется в соответствии с Уравнением 11 или Уравнением 12, и округляется с 1/16 части. Фильтры интерполяции с повышающей дискретизацией SHVC используются чтобы сформировать предсказание каждого субблока с использованием извлеченного вектора движения.[0295] Referring to FIG. 26, in order to extract the motion vector of each M×N sub-block, the motion vector of the center sample of each sub-block such as that illustrated in FIG. 26, calculated according to Equation 11 or Equation 12, and rounded to 1/16ths. SHVC upsampling interpolation filters are used to generate a prediction of each sub-block using the extracted motion vector.

[0296] Фильтры интерполяции с повышающей дискретизацией SHVC с точно такой же длинной фильтра и нормирующим множителем, как у фильтров интерполяции компенсации движения HEVC могут быть использованы в качестве фильтров интерполяции компенсации движения для дополнительных дробных позиций единицы изображения. Точность вектора движения компонента цветности составляет 1/32 сэмпла. Дополнительные фильтры интерполяции местоположений 1/32 части единицы изображения извлекаются с использованием средних значений в двух соседних местоположениях 1/16 части единицы изображения.[0296] SHVC upsampling interpolation filters with exactly the same filter length and normalization factor as HEVC motion compensation interpolation filters can be used as motion compensation interpolation filters for additional fractional image unit positions. The motion vector precision of the chrominance component is 1/32 of a sample. Additional interpolation filters for 1/32 unit locations are extracted using the average values at two adjacent 1/16 unit locations.

[0297] Режим AF_MERGE может быть выбран на стороне кодера с использованием того же самого способа выбора общего режима слияния. Предпочтительно формируется список кандидатов, и минимальная стоимость RD выбирается среди кандидатов для сравнения со стоимостями RD других межкадровых режимов. Результатом сравнения является определение, применяется или нет AF_MERGE.[0297] The AF_MERGE mode can be selected on the encoder side using the same general merge mode selection method. Preferably, a list of candidates is generated and a minimum RD cost is selected among the candidates for comparison with the RD costs of other interframe modes. The result of the comparison is to determine whether AF_MERGE is applied or not.

[0298] Применительно к режиму AF_4_INTER, проверка стоимости RD используется для определения того, выбирается ли кандидат на пару векторов движения в качестве предсказания вектора движения точки управления (CPMVP) текущей CU. После того, как определяется CPMVP текущей аффинной CU, применяется аффинная оценка движения, и получается вектор движения точки управления (CPMV). Соответственно, определяется разность между CPMV и CPMVP.[0298] With respect to the AF_4_INTER mode, the RD cost check is used to determine whether a motion vector pair candidate is selected as the control point motion vector prediction (CPMVP) of the current CU. Once the CPMVP of the current affine CU is determined, the affine motion estimate is applied and the control point motion vector (CPMV) is obtained. Accordingly, the difference between CPMV and CPMVP is determined.

[0299] На стороне кодера, режим AF_6_INTER идентифицируется только когда режим AF_MERGE или AF_4_INTER определяется в качестве оптимального режима на предыдущей стадии выбор режима.[0299] On the encoder side, the AF_6_INTER mode is identified only when the AF_MERGE or AF_4_INTER mode is determined as the optimal mode in the previous mode selection stage.

[0300] В варианте осуществления, аффинный межкадровый (аффинный AMVP) режим может быть выполнен следующим образом:[0300] In an embodiment, affine interframe (affine AMVP) mode can be implemented as follows:

[0301] 1) AFFINE_MERGE_IMPROVE: вместо поиска первого соседнего блока в аффинном режиме, улучшение состоит в поиске соседнего блока с максимальным размером единицы кодирования в качестве аффинного кандидата на слияние.[0301] 1) AFFINE_MERGE_IMPROVE: Instead of searching for the first neighboring block in affine mode, the improvement is to search for the neighboring block with the maximum encoding unit size as an affine merge candidate.

[0302] 2) AFFINE_AMVL_IMPROVE: соседние блоки в аффинном режиме добавляются в аффинный список кандидатов AMVP подобно общей процедуре AMVP.[0302] 2) AFFINE_AMVL_IMPROVE: Adjacent blocks in affine mode are added to the affine AMVP candidate list similar to the general AMVP procedure.

[0303] Подробный процесс формирования аффинного списка кандидатов AMVP является следующим.[0303] The detailed process for generating the AMVP affine candidate list is as follows.

[0304] Во-первых, идентифицируется, использует ли соседний блок снизу слева аффинную модель движения и имеет тот же самый опорный индекс, как и текущий опорный индекс. Если соседний блок не присутствует, левый соседний блок идентифицируется с использованием того же самого способа. Если соседний блок не присутствует, идентифицируется, использует ли соседний блок снизу слева аффинную модель движения и имеет другой опорный индекс. Если соседний блок присутствует, отмасштабированный аффинный вектор движения добавляется в список опорных картинок. Если соседний блок не присутствует, левый соседний блок идентифицируется с использованием того же самого способа.[0304] First, it is identified whether the neighboring block on the bottom left uses an affine motion model and has the same reference index as the current reference index. If a neighboring block is not present, the left neighboring block is identified using the same method. If a neighbor block is not present, it is identified whether the bottom left neighbor block uses an affine motion model and has a different reference index. If an adjacent block is present, the scaled affine motion vector is added to the list of reference pictures. If a neighboring block is not present, the left neighboring block is identified using the same method.

[0305] Во-вторых, идентифицируются верхний правый соседний блок, верхний соседний блок и верхний левый соседний блок с использованием того же самого способа.[0305] Secondly, the upper right neighboring block, the upper neighboring block and the upper left neighboring block are identified using the same method.

[0306] После процессов, если находят двух кандидатов, то процесс формирования аффинного списка кандидатов AMVP завершается. Если не находят двух кандидатов, исходная операция в рамках программного обеспечения JEM выполняется, чтобы сформировать аффинные списки кандидатов AMVP.[0306] After the processes, if two candidates are found, then the AMVP candidate affine list generation process is completed. If two candidates are not found, an initial operation within the JEM software is performed to generate AMVP affine candidate lists.

[0307] 3) AFFINE_SIX_PARAM: в дополнение к аффинной модели движения с 4 параметрами, аффинная модель движения с 6 параметрами добавляется в качестве дополнительной модели.[0307] 3) AFFINE_SIX_PARAM: In addition to the 4-parameter affine motion model, the 6-parameter affine motion model is added as an additional model.

[0308] Аффинная модель движения с 6 параметрами извлекается посредством Уравнения 14.[0308] A 6-parameter affine motion model is extracted via Equation 14.

[0309] [Уравнение 14][0309] [Equation 14]

[0310] Три вектора движения в верхнем левом местоположении MV_0, верхнем правом местоположении MV_1 и нижнем левом местоположении MV_2 необходимы для определения модели, потому что 6 параметров присутствует в модели движения. Три вектора движения могут быть определены с использованием способа подобного способу двух векторов движения в аффинной модели движения с 4 параметрами. Слияние аффинной модели всегда устанавливается как аффинная модель движения с 6 параметрами.[0310] Three motion vectors at the top left location MV_0, top right location MV_1 and bottom left location MV_2 are needed to define the model because 6 parameters are present in the motion model. Three motion vectors can be determined using a method similar to that of two motion vectors in a 4-parameter affine motion model. Affine model fusion is always set as a 6-parameter affine motion model.

[0311] 4) AFFINE_CLIP_REMOVE: удаляются ограничения вектора движения для всех аффинных векторов движения. Процесс компенсации движения предназначен для управления самими ограничениями вектора движения.[0311] 4) AFFINE_CLIP_REMOVE: Removes motion vector constraints for all affine motion vectors. The motion compensation process is designed to control the motion vector constraints themselves.

[0312][0312]

[0313] Аффинная модель движения[0313] Affine motion model

[0314] Как описано выше, различные аффинные модели движения могут быть использованы или рассмотрены в аффинном межкадровом предсказании. Например, аффинная модель движения может представлять собой четыре движения как на Фиг. 14. Аффинная модель движения, выполненная с возможностью представления трех движений (параллельный перенос, масштабирование и поворот), среди движений, которые могут быть представлены аффинной моделью движения, может называться аффинной моделью движения подобия (или упрощенной). Количество CPMV и/или способ извлечения MV единицы сэмпла/субблока у текущего блока могут быть разными в зависимости от того, какая одна из аффинных моделей движения используется.[0314] As described above, various affine motion models may be used or considered in affine inter-frame prediction. For example, the affine motion model may be four motions as in FIG. 14. An affine motion model capable of representing three motions (parallel translation, scaling and rotation), among the motions that can be represented by an affine motion model, can be called a similarity (or simplified) affine motion model. The number of CPMVs and/or the method of extracting the MV of a sample unit/subblock from the current block may be different depending on which one of the affine motion models is used.

[0315] В варианте осуществления изобретения, используются адаптивные модели движения с четырьмя или шестью параметрами. В AF_INTER, модель движения с 6 параметрами предложена в дополнение к модели движения с 4 параметрами, которая присутствует в JEM. Аффинная модель движения с 6 параметрами описывается аналогично Уравнению 15.[0315] In an embodiment of the invention, adaptive motion models with four or six parameters are used. In AF_INTER, a 6-parameter motion model is proposed in addition to the 4-parameter motion model present in JEM. The 6-parameter affine motion model is described similarly to Equation 15.

[0316] [Уравнение 15][0316] [Equation 15]

x’ = a * x+b * y+cx’ = a * x+b * y+c

y’ = d * x+e * y+fy’ = d * x+e * y+f

[0317] В данном случае, коэффициенты a, b, c, d, e и f являются аффинными параметрами движения. (x, y) и (x',y') являются координатами в местоположениях пикселя до и после преобразования аффинной модели движения. В кодировании видео, для того чтобы использовать аффинную модель движения, если CPMV0, CPMV1 и CPMV2 являются MV для CP0 (верхняя левая), CP1 (верхняя правая) и CP2 (нижняя левая), то Уравнение 16 может быть описано следующим образом.[0317] In this case, the coefficients a, b, c, d, e and f are affine motion parameters. (x, y) and (x',y') are the coordinates at the pixel locations before and after the affine motion model transformation. In video coding, in order to use the affine motion model, if CPMV0, CPMV1 and CPMV2 are the MVs for CP0 (top left), CP1 (top right) and CP2 (bottom left), then Equation 16 can be described as follows.

[0318] [Уравнение 16][0318] [Equation 16]

[0319] В данном случае, CPMV_0={v_0x, v_0y}, CPMV_1={v_1x, v_1y}, CPMV_2={v_2x, v_2y}, а w и h являются шириной и высотой каждого блока кодирования. Уравнение 16 является полем векторов движения (MVF) блока.[0319] In this case, CPMV_0={v_0x, v_0y}, CPMV_1={v_1x, v_1y}, CPMV_2={v_2x, v_2y}, and w and h are the width and height of each encoding block. Equation 16 is the motion vector field (MVF) of the block.

[0320] Флаг анализируется на уровне CU для того, чтобы указать используется ли аффинная модель движения с 4 параметрами или с 6 параметрами, когда соседние блоки кодируются как аффинное предсказание. Если соседний блок, кодированный как аффинное предсказание, не присутствует, то флаг опускается и модель с 4 параметрами используется для аффинного предсказания. Другими словами, модель с 6 параметрами рассматривается при условии, при котором один или несколько соседних блоков кодируются в аффинной модели движения. В отношении количества CPMVD, каждые из двух или трех CPMVD сигнализируются по отношению к аффинным моделям движения с 4 параметрами и 6 параметрами.[0320] The flag is parsed at the CU level to indicate whether a 4-parameter or 6-parameter affine motion model is used when adjacent blocks are encoded as an affine prediction. If a neighboring block coded as an affine prediction is not present, then the flag is omitted and the 4-parameter model is used for the affine prediction. In other words, a 6-parameter model is considered under the condition that one or more neighboring blocks are encoded into an affine motion model. In terms of the number of CPMVDs, each of two or three CPMVDs is signaled with respect to 4-parameter and 6-parameter affine motion models.

[0321] Кроме того, в варианте осуществления изобретения, может быть использовано уточнение вектора движения с сопоставлением с сэмплом. В извлечении вектора движения с сопоставлением с сэмплом (PMMVD, далее сокращенно PMVD в описании кодера JEM) у JEM, декодеру требуется оценить некоторые векторы движения (MV) для того, чтобы определить начального кандидата на MV для поиска на уровне CU. При поиске на уровне суб-CU некоторые кандидаты на MV добавляются в дополнение к оптимальному MV уровня CU. Декодеру требуется оценить таких кандидатов на MV для того, чтобы осуществить поиск оптимального MV. Это требует большой пропускной способности памяти. В предложенном уточнении вектора движения с сопоставлением с сэмплом (PMVR) используются концепции JEM сопоставления с шаблоном и двухстороннего сопоставления в PMVD. Когда режим пропуска или режим слияния выбирается для того, чтобы указать доступно ли PMVR, сигнализируется один PMVR_flag. Для того, чтобы значительно уменьшить требование к пропускной способности памяти в сравнении с PMVD, формируется список кандидатов на MV. Если применяется PMVR, то явным образом сигнализируется индекс начального кандидата на MV.[0321] Additionally, in an embodiment of the invention, motion vector refinement with matching to a sample may be used. In sample-matched motion vector extraction (PMMVD, abbreviated as PMVD in the JEM encoder description) from JEM, the decoder needs to estimate some motion vectors (MVs) in order to determine an initial MV candidate for CU-level retrieval. When searching at the sub-CU level, some MV candidates are added in addition to the optimal CU-level MV. The decoder needs to evaluate such MV candidates in order to search for the optimal MV. This requires a lot of memory bandwidth. The proposed sample-matched motion vector refinement (PMVR) uses the concepts of JEM template matching and two-way matching in PMVD. When skip mode or merge mode is selected to indicate whether PMVR is available, a single PMVR_flag is signaled. In order to significantly reduce the memory bandwidth requirement compared to PMVD, a list of MV candidates is generated. If PMVR is used, the index of the initial MV candidate is explicitly signaled.

[0322] Список кандидатов формируется с использованием процесса формирования списка кандидатов на слияние, но исключаются кандидаты на слияние суб-CU, например, аффинные кандидаты и кандидаты ATMVP. Применительно к двухстороннему сопоставлению, включаются только кандидаты на MV моно-предсказания. Кандидаты на MV би-предсказания делятся на двух кандидатов на MV моно-предсказания. Кроме того, также удаляются подобные кандидаты на MV (с разностями MV меньше предварительно определенно пороговой величины). Применительно к поиску на уровне CU, уточнение MV с ромбовидным поиском выполняется, начиная с просигнализированного кандидата MV.[0322] The candidate list is generated using the merge candidate list generation process, but sub-CU merge candidates, such as affine candidates and ATMVP candidates, are excluded. For two-way matching, only mono-prediction MV candidates are included. Bi-prediction MV candidates are divided into two mono-prediction MV candidates. In addition, similar MV candidates (with MV differences less than a predefined threshold) are also removed. When applied to CU-level search, MV refinement with diamond search is performed starting from the signaled candidate MV.

[0323] Поиск на уровне суб-CU доступен только в режиме слияния с двусторонним сопоставлением. Окно поиска для поиска на уровне суб-CU для всех суб-CU является точно таким же, как окно поиска для поиска на уровне CU. Соответственно, дополнительная пропускная способность не требуется при поиске на уровне суб-CU.[0323] Sub-CU level search is only available in two-way matching merge mode. The search window for sub-CU level search for all sub-CUs is exactly the same as the search window for CU level search. Accordingly, no additional bandwidth is required when searching at the sub-CU level.

[0324] Для того, чтобы уточнить MVP в режиме, также используется сопоставление с шаблоном. В режиме AMVP, два MVP формируются с использованием процесса формирования MVP HEVC, и один индекс MVP сигнализируется для выбора одного из двух MVP. Выбранный MVP дополнительно уточняется с использованием сопоставления с шаблоном в PMVR. Если применяется адаптивное разрешение вектора движения (AMVR), то MVP округляется с соответствующей точностью перед уточнением с сопоставлением с шаблоном. Такой процесс уточнения называется уточнением предсказателя вектора движения с сопоставлением с сэмплом (PMVPR). В оставшейся части данного документе PMVR включает в себя PMVR с сопоставлением с шаблоном, PMVR с двунаправленным сопоставлением и PMVPR, если конкретно не определено иное.[0324] In order to refine the mode MVP, pattern matching is also used. In AMVP mode, two MVPs are generated using the HEVC MVP generation process, and one MVP index is signaled to select one of the two MVPs. The selected MVP is further refined using template matching in PMVR. If adaptive motion vector resolution (AMVR) is used, the MVP is rounded to an appropriate precision before being refined with template matching. This refinement process is called sample-matched motion vector predictor refinement (PMVPR). In the remainder of this document, PMVR includes template-matched PMVR, bidirectional-matched PMVR, and PMVPR unless specifically defined otherwise.

[0325] Для того чтобы уменьшить требование в отношении пропускной способности памяти, PMVR является недоступным для 4×4, 4×8 и 8×4 CU. Для того чтобы уменьшить требуемую дополнительную пропускную способность памяти, диапазон поиска {сопоставление с шаблоном, двунаправленное сопоставление} для зоны CU равной 64 может быть уменьшен до {±2, ±4}. Диапазон поиска {сопоставление с шаблоном, двунаправленное сопоставление} для зоны CU больше 64 может быть уменьшен до {±6, ±8}. В сравнении с наихудшим случаем в HEVC, требуемая пропускная способность памяти была уменьшена с 45.9x в PMVD у JEM-7.0 до 3.1x в PMVR с использованием всех способов, описанных в разделе PMVR данного документа.[0325] In order to reduce the memory bandwidth requirement, PMVR is not available for 4x4, 4x8 and 8x4 CUs. In order to reduce the additional memory bandwidth required, the search range {pattern matching, bidirectional matching} for a CU area of 64 can be reduced to {±2, ±4}. The search range {pattern matching, bidirectional matching} for CU zone greater than 64 can be reduced to {±6, ±8}. Compared to the worst case in HEVC, the required memory bandwidth was reduced from 45.9x in PMVD in JEM-7.0 to 3.1x in PMVR using all the methods described in the PMVR section of this document.

[0326][0326]

[0327] Общее основанное на истории предсказание вектора движения (HMVP)[0327] General history-based motion vector prediction (HMVP)

[0328] В целом, технология сжатия изображения использует эксплуатацию пространственной и временной избыточности в качестве двух главных схем. Например, как высокоэффективное кодирование видео (HEVC), так и VVC используют две схемы компенсации движения на основании межкадрового кодирования. Одной является слияние движения, а другой является усовершенствованное предсказание вектора движения (AMVP). Для того чтобы улучшить два режима предсказания, обсуждались различные модификации. Различные модификации включают в себя увеличение количества кандидатов для поиска более пространственно расширенных кандидатов и проверку временных кандидатов в нетрадиционных местоположениях. Две схемы включают в себя первоначально создание списка с использованием доступных кандидатов, минимизацию стоимости скорости-искажения (RD) и сигнализацию выбранного кандидата в битовом потоке.[0328] In general, image compression technology uses the exploitation of spatial and temporal redundancy as two main schemes. For example, both High Efficiency Video Coding (HEVC) and VVC use two motion compensation schemes based on interframe coding. One is motion fusion and the other is advanced motion vector prediction (AMVP). In order to improve the two prediction modes, various modifications have been discussed. Various modifications include increasing the number of candidates to find more spatially expanded candidates and testing transient candidates in non-traditional locations. The two schemes include initially creating a list using the available candidates, minimizing the rate-distortion (RD) cost, and signaling the selected candidate in the bitstream.

[0329] В частности, в современной технологии сжатия изображения, обсуждается HMVP, в котором сохраняется информация о движении ранее кодированного блока, и сохраненная информация о движении используется для предсказания движения впоследствии кодируемого блока. Такое HMVP может быть добавлено в список слияния (или список кандидатов на слияние) или список AMVP (или список кандидатов AMVP).[0329] In particular, in modern image compression technology, an HMVP is discussed in which motion information of a previously encoded block is stored, and the stored motion information is used to predict the motion of a subsequently encoded block. Such an HMVP may be added to a merge list (or merge candidate list) or an AMVP list (or AMVP candidate list).

[0330] Декодер поддерживает таблицу поиска (LUT) в системе (или способе) «первый пришел - первый обслужен» (FIFO) для HMVP. В изобретении LUT не ограничена своим названием и может упоминаться как таблица, таблица HMVP, таблица кандидатов HMVP, буфер, буфер HMVP, буфер кандидатов HMVP, список HMVP или список кандидатов HMVP. В частности, когда декодируется не-аффинная единица предсказания (PU) (или единица кодирования (CU)), соответствующая информация о движении сохраняется в LUT. Декодер выполняет декодирование над следующей PU. В данном случае, сохраненная информация о движении может включать в себя векторы движения, информацию об опорном индексе и информацию о режиме в x (горизонтальном) и y (вертикальном) направлениях.[0330] The decoder maintains a lookup table (LUT) in a first-in-first-out (FIFO) system (or method) for HMVP. In the invention, a LUT is not limited by its name and may be referred to as a table, HMVP table, HMVP candidate table, buffer, HMVP buffer, HMVP candidate buffer, HMVP list, or HMVP candidate list. In particular, when a non-affine prediction unit (PU) (or coding unit (CU)) is decoded, the corresponding motion information is stored in the LUT. The decoder performs decoding on the next PU. Here, the stored motion information may include motion vectors, reference index information, and mode information in the x (horizontal) and y (vertical) directions.

[0331] Декодер поддерживает LUT, в которой сохраняется информация о движении прогрессивно декодированного не-аффинного кандидата. Размер LUT может быть ограничен предварительно определенными S кандидатами. В одном варианте осуществления, LUT может быть сброшена в начале слайса, начале строки CTU или начале CTU.[0331] The decoder maintains a LUT that stores motion information of the progressively decoded non-affine candidate. The size of the LUT can be limited to predefined S candidates. In one embodiment, the LUT may be reset at the start of a slice, the start of a CTU line, or the start of a CTU.

[0332] HMVP может быть применено как к режиму слияния, так и режиму AMVP. Список слияния может иметь B кандидатов, а список AMVP может иметь двух кандидатов. В обычной технологии сжатия изображения, список слияния конфигурируется из следующих кандидатов: i) пространственный кандидат, ii) временной кандидат, iii) кандидат двунаправленного предсказания (Bi-Pred), iv) кандидат нулевого движения. В последнее время обсуждается способ дополнительного рассмотрения усовершенствованного предсказания вектора движения (ATMVP) в качестве кандидата. Например, кандидат ATMVP может быть вставлен в список слияния до временного кандидата. Кандидаты списка слияния добавляются в список слияния до тех пор, пока они не достигают максимального размера списка слияния. Дублирующий кандидат может не добавляться в список слияния. Два кандидата могут быть вставлены в список AMVP. Например, первый кандидат из двух кандидатов может быть выбран из доступных пространственных кандидатов, а второй кандидат может быть выбран из временных кандидатов. Если список не заполнен, может быть добавлен кандидат нулевого вектора движения.[0332] HMVP can be applied to both merge mode and AMVP mode. A merge list can have B candidates, and an AMVP list can have two candidates. In conventional image compression technology, the merge list is configured from the following candidates: i) spatial candidate, ii) temporal candidate, iii) bi-prediction candidate (Bi-Pred), iv) zero-motion candidate. Recently, a method to additionally consider advanced motion vector prediction (ATMVP) as a candidate has been discussed. For example, the ATMVP candidate may be inserted into the merge list before the temporary candidate. Merge list candidates are added to the merge list until they reach the maximum size of the merge list. The duplicate candidate may not be added to the merge list. Two candidates can be inserted into the AMVP list. For example, the first candidate of two candidates may be selected from the available spatial candidates, and the second candidate may be selected from the temporal candidates. If the list is not full, a null motion vector candidate can be added.

[0333] HMVP применяется на основании очередности FIFO, в которой кандидаты выходят из LUT идентично с их очередностью ввода.[0333] HMVP is applied based on FIFO queuing, in which candidates exit the LUT identical to their input queuing.

[0334] В одном варианте осуществления, когда HMVP применяется к конфигурации списка слияния, кандидат HMVP может быть вставлен (или добавлен) в третье местоположение списка следующим образом:[0334] In one embodiment, when the HMVP is applied to a merge list configuration, the HMVP candidate may be inserted (or added) to a third list location as follows:

[0335] 1. Пространственный Кандидат[0335] 1. Spatial Candidate

[0336] 2. Временной Кандидат[0336] 2. Temporary Candidate

[0337] 3. Вплоть до S Кандидатов HMVP для LUT[0337] 3. Up to S HMVP Candidates for LUT

[0338] 4. Объединенный Кандидат Bi-Pred[0338] 4. Joint Bi-Pred Candidate

[0339] 5. Кандидат Нулевого Вектора Движения[0339] 5. Zero Motion Vector Candidate

[0340] В одном варианте осуществления, когда HMVP применяется к конфигурации списка AMVP, HMVP может быть вставлен в третье местоположение после временного кандидата следующим образом:[0340] In one embodiment, when the HMVP is applied to an AMVP list configuration, the HMVP may be inserted at a third location after the temporary candidate as follows:

[0341] 1. Пространственный Кандидат[0341] 1. Spatial Candidate

[0342] 2. Временной Кандидат[0342] 2. Temporary Candidate

[0343] 3. Вплоть до K Кандидатов HMVP[0343] 3. Up to K HMVP Candidates

[0344] 4. Кандидат Нулевого Вектора Движения[0344] 4. Zero Motion Vector Candidate

[0345] Фиг. 27 является блок-схемой для описания способа хранения HMVP в соответствии с вариантом осуществления изобретения.[0345] FIG. 27 is a flowchart for describing a method for storing HMVP in accordance with an embodiment of the invention.

[0346] Обращаясь к Фиг. 27, декодер декодирует текущую PU (или CU) (S2701).[0346] Referring to FIG. 27, the decoder decodes the current PU (or CU) (S2701).

[0347] Декодер проверяет, является ли текущая PU блоком, кодированным в не-аффинном режиме (S2702). Для того чтобы облегчить использование кандидатов HMVP, если текущая PU является блоком, кодированным в аффинном режиме, декодер не хранит информацию о движении текущей PU в таблице.[0347] The decoder checks whether the current PU is a non-affine mode encoded block (S2702). To facilitate the use of HMVP candidates, if the current PU is an affine-mode encoded block, the decoder does not store the current PU's movement information in a table.

[0348] Если текущая PU является блоком, кодированным в не-аффинном режиме, декодер сохраняет (или обновляет) информацию о движении текущей PU в таблице (S2703).[0348] If the current PU is a non-affine mode encoded block, the decoder stores (or updates) the movement information of the current PU in a table (S2703).

[0349] В варианте осуществления изобретения, таблица HMVP может быть обновлена с использованием двух способов, т.е. способов i) FIFO без ограничений ii) FIFO с ограничениями. В первом случае, может присутствовать избыточная информация о движении, но процесс отсечения не применяется. Это способствует снижению сложности всего процесса. С другой стороны, в последнем случае, процесс отсечения применяется и не присутствует избыточная информация о движении. Это описано при обращении к следующей фигуре.[0349] In an embodiment of the invention, the HMVP table can be updated using two methods, i.e. methods i) FIFO without restrictions ii) FIFO with restrictions. In the first case, redundant motion information may be present, but the clipping process is not applied. This helps reduce the complexity of the entire process. On the other hand, in the latter case, the clipping process is applied and no redundant motion information is present. This is described by referring to the next figure.

[0350] Фиг. 28 является схемой для описания таблицы HMVP, которая работает согласно дисциплине очереди FIFO без ограничений в соответствии с вариантом осуществления изобретения.[0350] FIG. 28 is a diagram for describing an HMVP table that operates according to a FIFO queue discipline without restrictions in accordance with an embodiment of the invention.

[0351] Обращаясь к Фиг. 28, кандидат, который добавляется в таблицу, добавляется в конец (справа) таблицы. В противоположность, кандидат, который выпускается из таблицы в соответствии со способом FIFO, располагается в передней части (левая сторона, самый старый кандидат) таблицы.[0351] Referring to FIG. 28, the candidate that is added to the table is added to the end (right) of the table. In contrast, a candidate that is released from the table according to the FIFO method is located at the front (left side, oldest candidate) of the table.

[0352] Если таблица не полностью заполнена максимальным количеством предварительно определенных кандидатов с индексом L-1 (т.е. конец), новые кандидаты добавляются без удаления кандидата. В противоположность, если таблица уже полностью заполнена, т.е. если удовлетворяется максимальное количество таблицы, то кандидат, который располагается в передней части, т.е. самый старый в таблице, удаляется и добавляется новый кандидат.[0352] If the table is not completely filled with the maximum number of predefined candidates at index L-1 (ie, the end), new candidates are added without removing the candidate. In contrast, if the table is already completely filled, i.e. if the maximum number of the table is satisfied, then the candidate who is located in the front, i.e. the oldest one in the table is removed and a new candidate is added.

[0353] Фиг. 29 является схемой для описания таблицы HMVP, которая работает согласно дисциплине очереди FIFO с ограничениями в соответствии с вариантом осуществления изобретения.[0353] FIG. 29 is a diagram for describing an HMVP table that operates according to a constrained FIFO queue discipline in accordance with an embodiment of the invention.

[0354] Обращаясь к Фиг. 29, в случае, когда используется FIFO с ограничениями, выполняется отсечение, если добавление нового кандидата вызывает какую-либо избыточность (т.е. новый кандидат включает избыточную информацию о движении). В варианте осуществления, если кандидат с избыточной информацией о движении присутствует в таблице, то избыточный кандидат в таблице удаляется и информация о движении текущего кандидата может быть добавлена.[0354] Referring to FIG. 29, in the case where a constrained FIFO is used, pruning is performed if adding a new candidate causes any redundancy (ie, the new candidate includes redundant motion information). In an embodiment, if a candidate with redundant motion information is present in the table, then the redundant candidate in the table is removed and the motion information of the current candidate can be added.

[0355][0355]

[0356] Что касается кандидатов HMVP, то во многих случаях, самые последние исторические MV могут перекрывать информацию о движении пространственного кандидата (или пространственного соседнего кандидата). Соответственно, настоящий вариант осуществления предлагает способ установки очередности добавления кандидатов по-другому от очередности индексов HMVP LUT, когда кандидат HMVP добавляется в список слияния или AMVP.[0356] With respect to HMVP candidates, in many cases, the most recent historical MVs may overlap the motion information of a spatial candidate (or a spatial neighbor candidate). Accordingly, the present embodiment proposes a method for setting the order of adding candidates differently from the order of HMVP LUT indexes when an HMVP candidate is added to a merge list or AMVP.

[0357] В соответствии с вариантом осуществления изобретения, список кандидатов может быть эффективно сконфигурирован путем адаптивной регулировки кандидата HMVP. Соответственно, количество бинов сигнализации, которые используются для преобразования в двоичное представление, может быть уменьшено, и эффективность кодирования может быть улучшена. Т.е. кандидат HMVP, который добавляется в список слияния или список AMVP, может быть не ограничен индексом в списке HMVP. В качестве варианта осуществления, следующая Таблица 1 иллюстрирует способ изменения очередности добавления кандидата HMVP в список слияния или AMVP.[0357] According to an embodiment of the invention, the candidate list can be efficiently configured by adaptively adjusting the HMVP candidate. Accordingly, the number of signaling bins that are used for conversion to binary representation can be reduced and coding efficiency can be improved. Those. The HMVP candidate that is added to the merge list or AMVP list may not be limited to an index in the HMVP list. As an embodiment, the following Table 1 illustrates a method for changing the order in which an HMVP candidate is added to a merge or AMVP list.

[0358] [Таблица 1][0358] [Table 1]

Индекс HMVP LUT (0 обозначает самый последний исторический MV)HMVP LUT Index (0 denotes most recent historical MV) Очередность для добавления в список Слияния или AMVPPriority to be added to the Merge or AMVP list 00 22 11 00 22 11 33 33 .... ....

[0359] Обращаясь к Таблице 1, как описано выше, присутствует хорошая вероятность того, самый последний вставленный кандидат HMVP может иметь ту же самую информацию о движении, что и пространственный кандидат. Соответственно, очередность добавления кандидата HMVP может быть предварительно определенной независимо от индекса HMVP с учетом вероятности.[0359] Referring to Table 1, as described above, there is a good chance that the most recently inserted HMVP candidate may have the same motion information as the spatial candidate. Accordingly, the order of adding the HMVP candidate may be predetermined independently of the HMVP index based on probability.

[0360] Кроме того, в одном варианте осуществления, кодер или декодер может добавлять кандидата HMVP в список слияния или список AMVP, начиная с кандидата HMVP, который начинается с n-ого кандидата в списке. Таблица 2 ниже иллюстрирует измененную очередность добавления кандидата в список слияния или AMVP.[0360] Additionally, in one embodiment, the encoder or decoder may add an HMVP candidate to a merge list or AMVP list, starting with the HMVP candidate that begins with the nth candidate in the list. Table 2 below illustrates the modified order in which a candidate is added to the Merger List or AMVP.

[0361] [Таблица 2][0361] [Table 2]

Индекс HMVP LUT (0 обозначает самый последний исторический MV)HMVP LUT Index (0 denotes most recent historical MV) Очередность для добавления в список Слияния или AMVPPriority to be added to the Merge or AMVP list 00 11 00 22 11 33 22 .... ....

[0362] Обращаясь к Таблице 2, кандидат HMVP может быть добавлен в список слияния или список AMVP со второго индекса.[0362] Referring to Table 2, the HMVP candidate may be added to the merge list or AMVP list from the second index.

[0363] В одном варианте осуществления, информация касательно очередности добавления кандидата HMVP в таблицу (LUT) может быть просигнализирована от кодера декодеру. Например, такая информация об очередности может быть передана посредством высокоуровневого синтаксиса (HLS). Высокоуровневый синтаксис может быть набором параметров последовательности, набором параметров картинки, заголовком слайса, единицей дерева кодирования, единицей кодирования и/или другим надлежащим заголовком данных синтаксиса, например.[0363] In one embodiment, information regarding the order in which an HMVP candidate is added to a table (LUT) may be signaled from the encoder to the decoder. For example, such ordering information may be conveyed via High Level Syntax (HLS). The high-level syntax may be a sequence parameter set, a picture parameter set, a slice header, an encoding tree unit, an encoding unit, and/or other suitable syntax data header, for example.

[0364] Таблица 3 иллюстрирует структуру высокоуровневого синтаксиса, к которой может быть применен способ, предложенный в изобретении.[0364] Table 3 illustrates the high-level syntax structure to which the method of the invention can be applied.

[0365] [Таблица 3][0365] [Table 3]

high_level_parameter_set(){high_level_parameter_set(){ ОписаниеDescription ... set_HMVP_order_flagset_HMVP_order_flag u(1)u(1) ...

[0366] Обращаясь к Таблице 3, set_HMVP_order_flag равный 1 указывает на то, что set_HMVP_order_flag присутствует в заголовке слайса в не-IDR картинках в CVS. set_HMVP_order_flag равный 0 указывает, что set_HMVP_order_flag не присутствует в заголовках слайса и адаптивный HMVP не используется в VCS.[0366] Referring to Table 3, set_HMVP_order_flag equal to 1 indicates that set_HMVP_order_flag is present in the slice header in non-IDR pictures in CVS. set_HMVP_order_flag equal to 0 indicates that set_HMVP_order_flag is not present in the slice headers and adaptive HMVP is not used in VCS.

[0367] Таблица 4 иллюстрирует структуру синтаксиса заголовка сегмента слайса, к которой может быть применен способ, предложенный в изобретении.[0367] Table 4 illustrates the structure of the slice segment header syntax to which the method of the invention can be applied.

[0368] [Таблица 4][0368] [Table 4]

slice_segment_header(){slice_segment_header(){ ОписаниеDescription ... if(set_HMVP_order_flag)if(set_HMVP_order_flag) slice_HMVP_idx slice_HMVP_idx u(1)u(1) ... }} ...

[0369] Обращаясь к Таблице 4, slice_HMVP_idx означает индекс для последовательности использованных кандидатов. Например, slice_HMVP_idx равный 0 может представлять собой базовую последовательность HMVP, такую как 0, 1, 2, 3. Аналогичным образом, значение индекса 1 может быть использовано для представления последовательности HMVP в виде 3, 2, 1, 0.[0369] Referring to Table 4, slice_HMVP_idx means the index for the sequence of used candidates. For example, slice_HMVP_idx equal to 0 could represent a base HMVP sequence such as 0, 1, 2, 3. Likewise, an index value of 1 could be used to represent an HMVP sequence as 3, 2, 1, 0.

[0370][0370]

[0371] В варианте осуществления изобретения, в дополнение к HMVP LUT, предлагается способ использования долгосрочного списка для предсказания движения. Соответственно, количество поддерживаемых кандидатов HMVP может быть увеличено. В варианте осуществления, могут быть рассмотрены 2 таблицы HMVP. В данном случае, одна может быть использована для хранения общих кандидатов HMVP, а другая может быть использована в качестве долгосрочного списка, в котором хранятся кандидаты, для которых требуется дальнейшая поддержка.[0371] In an embodiment of the invention, in addition to the HMVP LUT, a method of using a long-term list for motion prediction is provided. Accordingly, the number of supported HMVP candidates may be increased. In an embodiment, 2 HMVP tables may be considered. In this case, one can be used to store general HMVP candidates, and the other can be used as a long-term list that stores candidates for which further support is required.

[0372] Нижеследующее иллюстрирует способы сброса и создания долгосрочного списка (или долгосрочного списка HMVP).[0372] The following illustrates methods for resetting and creating a long-term list (or long-term HMVP list).

[0373] - После того, как декодируется первая CTU строки CTU, один или несколько исторических MV последующей CTU могут быть добавлены в долгосрочную HMVP LUT. Такая долгосрочная HMVP LUT может не использоваться или не обновляться до следующей строки CTU.[0373] - After the first CTU of a CTU row is decoded, one or more historical MVs of the subsequent CTU may be added to the long-term HMVP LUT. Such a long-term HMVP LUT may not be used or updated until the next CTU line.

[0374] - В начале следующей строки CTU, долгосрочная HMVP LUT может быть использована для сброса общей HMVP LUT. Причина этого состоит в том, что кандидаты HMVP у CTU в начале строки CTU могут быть более взаимосвязанными в сравнении с историческим MV в конце предыдущей строки CTU.[0374] - At the beginning of the next CTU line, the long-term HMVP LUT can be used to reset the general HMVP LUT. The reason for this is that the HMVP candidates of a CTU at the beginning of a CTU line may be more related compared to the historical MV at the end of the previous CTU line.

[0375] -- Вышеприведенный процесс может быть повторен.[0375] -- The above process can be repeated.

[0376] Фиг. 30 является схемой, иллюстрирующей HMVP LUT и долгосрочную HMVP LUT в соответствии с вариантом осуществления изобретения.[0376] FIG. 30 is a diagram illustrating an HMVP LUT and a long-term HMVP LUT in accordance with an embodiment of the invention.

[0377] Обращаясь к Фиг. 30, кодер или декодер могут включать две LUT для хранения кандидатов HMVP. Одной может быть HMVP LUT (или общая HMVP LUT или краткосрочная HMVP LUT), а другая может быть долгосрочной HMVP LUT. Когда кандидат HMVP добавляется как в список слияния, так и список AMVP, он может быть добавлен из HMVP LUT или долгосрочной LUT, как проиллюстрировано на Фиг. 30.[0377] Referring to FIG. 30, the encoder or decoder may include two LUTs for storing HMVP candidates. One could be an HMVP LUT (or a general HMVP LUT or a short-term HMVP LUT) and the other could be a long-term HMVP LUT. When an HMVP candidate is added to both the merge list and the AMVP list, it may be added from an HMVP LUT or a long-term LUT, as illustrated in FIG. thirty.

[0378] Использование долгосрочной LUT может быть просигнализировано путем использования нового элемента синтаксиса. В варианте осуществления, элемент синтаксиса может быть просигнализирован посредством высокоуровневого синтаксиса. Например, элемент синтаксиса может присутствовать в наборе параметров последовательности, наборе параметров картинки, заголовке слайса, единице дерева кодирования, единице кодирования и/или другом надлежащем заголовке данных синтаксиса.[0378] The use of a long-term LUT can be signaled by using a new syntax element. In an embodiment, the syntax element may be signaled by high-level syntax. For example, a syntax element may be present in a sequence parameter set, a picture parameter set, a slice header, an encoding tree unit, an encoding unit, and/or other suitable syntax data header.

[0379] В варианте осуществления изобретения, предлагается способ, в которому учитывается гибкость для декодирования при добавлении кандидата HMVP в HMVP LUT. Кодер/декодер может учитывать критерий принятия решения для одной или нескольких характеристик PU (или CU), при добавлении кандидата HMVP в HMVP LUT.[0379] In an embodiment of the invention, a method is provided that takes into account flexibility for decoding when adding an HMVP candidate to an HMVP LUT. The encoder/decoder may consider a decision criterion for one or more PU (or CU) characteristics when adding an HMVP candidate to the HMVP LUT.

[0380] В варианте осуществления, кодер/декодер может учитывать следующее содержимое при добавлении кандидата HMVP в таблицу. Кодер/декодер может добавлять кандидата в таблицу с учетом характеристик, таких как режим (например, режим слияния, аффинный режим или режим AMVP) у PU и/или размер блока, отдельно или в сочетании. В одном варианте осуществления, в дополнение к характеристикам, могут быть учтены другие дополнительные характеристики. Например, тип слияния (например, пространственный кандидат или временной кандидат), в котором рассматривается обновление HMVP LUT, является ли это суб-PU и т.д., могут быть учтены в качестве критерия для выбора кандидата. Критерий выбора может быть определен, чтобы уменьшать избыточность с предыдущей историей (или предыдущим HMVP). Например, если PU кодируется в режиме слияния и тип слияния является пространственным слиянием, то декодер может не обновлять HMVP LUT информацией о движении соответствующей PU.[0380] In an embodiment, the encoder/decoder may consider the following content when adding an HMVP candidate to the table. The encoder/decoder may add a candidate to the table based on characteristics such as the mode (eg, merge mode, affine mode, or AMVP mode) of the PU and/or block size, alone or in combination. In one embodiment, in addition to the characteristics, other additional characteristics may be taken into account. For example, the type of merge (eg, spatial candidate or temporal candidate) in which the HMVP LUT update is considered, whether it is a sub-PU, etc. may be considered as criteria for candidate selection. A selection criterion can be defined to reduce redundancy with previous history (or previous HMVP). For example, if the PU is encoded in merging mode and the merging type is spatial merging, then the decoder may not update the HMVP LUT with motion information of the corresponding PU.

[0381] Фиг. 31 является схемой, иллюстрирующей пример способа для обновления HMVP LUT в соответствии с вариантом осуществления изобретения.[0381] FIG. 31 is a diagram illustrating an example of a method for updating an HMVP LUT in accordance with an embodiment of the invention.

[0382] Обращаясь к Фиг. 31, кодер/декодер получает информацию о движении кодированного кандидата (S3101).[0382] Referring to FIG. 31, the encoder/decoder obtains motion information of the coded candidate (S3101).

[0383] Кодер/декодер оценивает, обновлять ли LUT информацией о движении кандидата на основании предварительно определенного критерия принятия решения (S3102). Как описано выше, критерий принятия решения может включать в себя характеристики, связанные с одним или нескольким из режима (например, режим слияния, аффинный режим или режим AMVP) кандидата, размера блока кандидата и/или типа слияния кандидата.[0383] The encoder/decoder judges whether to update the LUT with candidate motion information based on a predetermined decision criterion (S3102). As described above, the decision criterion may include characteristics associated with one or more of a mode (eg, merge mode, affine mode, or AMVP mode) of the candidate, candidate block size, and/or candidate merge type.

[0384] Кодер/декодер обновляет LUT на основании критерия принятия решения (S4303). Т.е. если кандидат удовлетворяет предварительно определенному условию принятия решения, то кодер/декодер может добавлять информацию о движении кандидата в LUT.[0384] The encoder/decoder updates the LUT based on the decision criterion (S4303). Those. if the candidate satisfies the predetermined decision condition, then the encoder/decoder may add candidate motion information to the LUT.

[0385][0385]

[0386] В варианте осуществления изобретения, присутствуют предложенные ограничения касательно проверки избыточности для добавления кандидата HMVP в список слияния (или список AMVP). Ограничения касательно проверки избыточности могут быть определены или реализованы различными способами.[0386] In an embodiment of the invention, there are proposed redundancy check restrictions for adding an HMVP candidate to a merge list (or AMVP list). Constraints regarding redundancy checking can be defined or implemented in a variety of ways.

[0387] В одном варианте осуществления, кодер/декодер может ограничивать количество проверок отсечения для первого конкретного количества кандидатов в списке слияния. В качестве варианта осуществления, кодер/декодер может ограничивать количество проверок отсечения для кандидатов от первого кандидата списка слияния до конкретного кандидата. Например, кодер/декодер может выполнять процесс отсечения над кандидатами с первого кандидата списка слияния до конкретного кандидата. И кандидат HMVP, т.е. цель проверки отсечения, может быть ограничена предварительно определенным количеством.[0387] In one embodiment, the encoder/decoder may limit the number of pruning checks for the first specified number of candidates in the merge list. As an embodiment, the encoder/decoder may limit the number of pruning checks for candidates from the first candidate of the merge list to a particular candidate. For example, the encoder/decoder may perform a pruning process on candidates from the first candidate of the merge list to a particular candidate. And the HMVP candidate, i.e. the purpose of the cutoff check may be limited to a predetermined number.

[0388] Кроме того, в одном варианте осуществления, кодер/декодер может ограничивать проверку отсечения путем выполнения проверки отсечения касательно конкретного типа кандидата на слияние в списке слияния. Например, кодер/декодер может выполнять проверку отсечения только касательно пространственного кандидата списка слияния при добавлении кандидата HMVP. В качестве альтернативы, например, кодер/декодер может выполнять проверку отсечения только касательно некоторых из пространственных кандидатов списка слияния при добавлении кандидата HMVP. Некоторые из пространственных кандидатов могу быть предварительно определены. Например, предварительно определенными пространственными кандидатами могут быть по меньшей мере один из левого соседнего пространственного кандидата и/или верхнего соседнего пространственного кандидата. Или, например, при добавлении кандидата HMVP, кодер/декодер может выполнять проверку отсечения только касательно части пространственных кандидатов списка слияния, и часть пространственных кандидатов может быть предварительно определена как левая и верхняя стороны. Вариант осуществления изобретения не ограничивается вышеприведенными примерами, и другие типы могут быть объединены и ограничены в качестве цели проверки отсечения.[0388] Additionally, in one embodiment, the encoder/decoder may limit the pruning check by performing a pruning check on a particular merge candidate type in the merge list. For example, the encoder/decoder may perform a pruning check only on a spatial merge list candidate when adding an HMVP candidate. Alternatively, for example, the encoder/decoder may perform a pruning check on only some of the spatial candidates of the merge list when adding an HMVP candidate. Some of the spatial candidates may be pre-defined. For example, the predetermined spatial candidates may be at least one of a left neighbor spatial candidate and/or a top neighbor spatial candidate. Or, for example, when adding an HMVP candidate, the encoder/decoder may perform a pruning check on only a portion of the spatial candidates of the merge list, and the portion of the spatial candidates may be pre-defined as the left and top sides. The embodiment of the invention is not limited to the above examples, and other types may be combined and limited as the purpose of the cutoff check.

[0389] Фиг. 32 является схемой, иллюстрирующей способ ограничения количества кандидатов HMVP, т.е. цели проверки отсечения, в соответствии с вариантом осуществления изобретения.[0389] FIG. 32 is a diagram illustrating a method for limiting the number of HMVP candidates, i.e. the purpose of checking the clipping, in accordance with an embodiment of the invention.

[0390] Обращаясь к Фиг. 32, в варианте осуществления изобретения, количество кандидатов HMVP, т.е. цель проверки отсечения, может быть ограничено до M. Кодер/декодер может проверять избыточность информации о движении среди первых M кандидатов в HMVP LUT и кандидатов на слияние в списке слияния при создании списка слияния с использованием кандидатов HMVP.[0390] Referring to FIG. 32, in an embodiment of the invention, the number of HMVP candidates, i.e. the target of the pruning check may be limited to M. The encoder/decoder may check for redundancy of motion information among the first M HMVP LUT candidates and merge candidates in the merge list when creating a merge list using the HMVP candidates.

[0391] В качестве альтернативы, кодер/декодер может проверять избыточность информации о движении среди первых M кандидатов в HMVP LUT и текущей декодированной PU при добавлении информации о движении декодированного блока обработки (например, PU) в HMVP LUT.[0391] Alternatively, the encoder/decoder may check for redundancy of motion information among the first M HMVP LUT candidates and the currently decoded PU when adding motion information of a decoded processing unit (eg, PU) to the HMVP LUT.

[0392] Фиг. 33 является блок-схемой, иллюстрирующей пример способа выполнения проверки отсечения в соответствии с вариантом осуществления изобретения.[0392] FIG. 33 is a flowchart illustrating an example of a method for performing a clipping check in accordance with an embodiment of the invention.

[0393] Обращаясь к Фиг. 33, кодер/декодер получает информацию о движении декодированного кандидата и определяет (или декодирует) количество проверок отсечения (S3301, S3302). Количество проверок отсечения может быть предварительно определено в кодере/декодере в соответствии с описанным выше способом (например, описанным на Фиг. 32). Кодер/декодер выполняет проверку отсечения на основании определенного количества проверок отсечения (S3303).[0393] Referring to FIG. 33, the encoder/decoder obtains motion information of the decoded candidate and determines (or decodes) the number of clipping checks (S3301, S3302). The number of clipping checks may be predetermined in the encoder/decoder in accordance with the method described above (eg, described in FIG. 32). The encoder/decoder performs a clipping check based on a certain number of clipping checks (S3303).

[0394] В одном варианте осуществления, как в Таблице 4 и Таблице 5, информация, которая связана с проверкой отсечения, может быть просигнализирована посредством высокоуровневого синтаксиса. В данном случае, элемент синтаксиса, который передается от кодера декодеру может быть просигнализирован посредством высокоуровневого синтаксиса для указания количества проверок отсечения. Высокоуровневый синтаксис может быть включен в набор параметров последовательности, набор параметров картинки, заголовок слайса, единицу дерева кодирования, единицу кодирования и/или другой надлежащий заголовок данных синтаксиса, например.[0394] In one embodiment, as in Table 4 and Table 5, information that is associated with the clipping check may be signaled through high-level syntax. In this case, the syntax element that is passed from the encoder to the decoder may be signaled by high-level syntax to indicate the number of clipping checks. The high-level syntax may be included in a sequence parameter set, a picture parameter set, a slice header, an encoding tree unit, an encoding unit, and/or other appropriate syntax data header, for example.

[0395][0395]

[0396] В варианте осуществления изобретения, предлагается эффективный способ выбора кандидата HMVP. Когда исторический кандидат на вектор движения (т.е. кандидат HMVP) вставляется в список слияния (или список AMVP), то проверка отсечения может быть выполнена так, что кандидат HMVP не перекрывает существующий список слияния. В это время, для того, чтобы выполнить совокупные проверки избыточности между списком избыточности размером M и исторической LUT размером N, требуются проверки (M-1)×N раз.[0396] In an embodiment of the invention, an efficient method for selecting an HMVP candidate is provided. When a historical motion vector candidate (ie, an HMVP candidate) is inserted into a merge list (or AMVP list), then a pruning check can be performed such that the HMVP candidate does not overlap the existing merge list. At this time, in order to perform cumulative redundancy checks between a redundancy list of size M and a historical LUT of size N, checks (M-1)×N times are required.

[0397] Соответственно, в варианте осуществления изобретения количество кандидатов HMVP может зависеть от кандидата на слияние. Например, количество кандидатов HMVP может зависеть от количества пространственных кандидатов, которые присутствуют в списке слияния. В качестве альтернативы, например, количество кандидатов HMVP может зависеть от количества пространственных кандидатов и временных кандидатов, которые присутствуют в списке слияния.[0397] Accordingly, in an embodiment of the invention, the number of HMVP candidates may depend on the merger candidate. For example, the number of HMVP candidates may depend on the number of spatial candidates that are present in the merge list. Alternatively, for example, the number of HMVP candidates may depend on the number of spatial candidates and temporal candidates that are present in the merge list.

[0398] Если присутствует другой кандидат на слияние в списке слияния, то количество кандидатов HMVP, над которыми проверка отсечения будет выполнена на основании конкретного критерия (или правила) на основании количества кандидатов на слияние и/или количества HVVP списка слияния, может быть уменьшено. Соответственно, количество проверок избыточности в худшем случае может быть уменьшено.[0398] If there is another merge candidate in the merge list, then the number of HMVP candidates on which the pruning check will be performed based on a particular criterion (or rule) based on the number of merge candidates and/or the number of HVVPs of the merge list may be reduced. Accordingly, the number of worst-case redundancy checks can be reduced.

[0399] Например, в случае списка слияния размером (или длинной) в 6, если список слияния полностью заполнен, то список слияния может включать в себя максимум 5 пространственных или других кандидатов на слияние. Для того, чтобы вставить кандидата HMVP в 6 списков HMVP, в худшем случает может потребоваться 30 проверок избыточности.[0399] For example, in the case of a merge list of size (or length) 6, if the merge list is completely full, then the merge list may include a maximum of 5 spatial or other merge candidates. In order to insert a HMVP candidate into 6 HMVP lists, in the worst case, 30 redundancy checks may be required.

[0400] В одном варианте осуществления, пример, связанный с ограничениями количества HMVP, которые должны быть целями проверки отсечения, иллюстрируется в Уравнении 17 и Таблице 5.[0400] In one embodiment, an example related to restrictions on the number of HMVPs that should be targets of a pruning check is illustrated in Equation 17 and Table 5.

[0401] [Уравнение 17][0401] [Equation 17]

if (existing_candidates >= 3)if (existing_candidates >= 3)

number_hist_to_check=7 - existing_candidatesnumber_hist_to_check=7 - existing_candidates

[0402] [Таблица 5][0402] [Table 5]

# существующего кандидата# existing candidate # существующего кандидата для проверки# existing candidate to check # исторического MV для проверки# historical MV for verification # проверок# checks 11 11 66 66 22 22 66 1212 33 33 44 1212 44 44 33 1212 55 55 22 1010

[0403] Обращаясь к Таблице 5, количество проверок избыточности для добавления HMVP в худшем случае может быть уменьшено в 12 раз, а не в 30 раз путем ограничения количества HMVP, т.е. цели проверки отсечения, до 2.[0403] Referring to Table 5, the number of redundancy checks for adding HMVPs in the worst case can be reduced by 12 times rather than 30 times by limiting the number of HMVPs, i.e. cutoff check targets, up to 2.

[0404][0404]

[0405] В варианте осуществления изобретения, предоставляется способ создания списка слияния с использованием основанного на истории пространственно-временного предсказания вектора движения (H-STMVP). H-STMVP указывает кандидата, извлеченного как среднее двух основанных на истории пространственных MVP и TMVP. Два пространственных HMVP могут быть получены из буфера HMVP. TMVP может быть получен из текущего списка слияния. В данном случае, пространственный кандидат может быть кандидатом, полученным из последних 2 кодированных MV в последовательности декодирования до текущего блока.[0405] In an embodiment of the invention, a method for creating a merge list using history-based spatio-temporal motion vector prediction (H-STMVP) is provided. H-STMVP indicates the candidate extracted as the average of two history-based spatial MVPs and TMVPs. Two spatial HMVPs can be obtained from the HMVP buffer. TMVP can be obtained from the current merge list. In this case, the spatial candidate may be a candidate obtained from the last 2 encoded MVs in the decoding sequence before the current block.

[0406] Например, последний кодированный MV (упоминается как MV_L в изобретении), MV, т.е. последний ко второму (упоминается как MV_(L-1) в изобретении), и MV_TMVP могут быть использованы для формирования кандидата H-STMVP, который должен быть вставлен в список слияния.[0406] For example, the last encoded MV (referred to as MV_L in the invention), MV, i.e. the latter to the latter (referred to as MV_(L-1) in the invention), and MV_TMVP can be used to generate a candidate H-STMVP to be inserted into the merge list.

[0407] Если могут быть использованы все три кандидата, то MV, которые добавляются в список слияния, могут быть вычислены посредством Уравнения 18 ниже.[0407] If all three candidates can be used, then the MVs that are added to the merge list can be calculated by Equation 18 below.

[0408] [Уравнение 18][0408] [Equation 18]

[0409] В одном варианте осуществления, если доступно только два из трех кандидатов, то только два кандидата могут быть усреднены для формирования H-STMVP. Аналогичным образом, если доступен только один кандидат, то может быть использован один кандидат. Если доступный кандидат не присутствует, то H-STMVP может не использоваться для конфигурации списка слияния.[0409] In one embodiment, if only two of three candidates are available, then only two candidates can be averaged to form the H-STMVP. Likewise, if only one candidate is available, then one candidate may be used. If an available candidate is not present, then H-STMVP may not be used for merge list configuration.

[0410] В варианте осуществления изобретения, предлагается способ получения вектора движения кандидата H-STMVP с использованием другого способа, отличного от Уравнения 18.[0410] In an embodiment of the invention, a method is provided for obtaining the motion vector of an H-STMVP candidate using a different method than Equation 18.

[0411] Например, вместо одновременного усреднения трех или больше кандидатов, сначала усреднение пространственных кандидатов, а затем усреднение двух кандидатов вновь с использованием результата усреднения может быть более простым с точки зрения вычисления. Пример этого иллюстрируется в следующих уравнениях.[0411] For example, instead of averaging three or more candidates simultaneously, averaging the spatial candidates first and then averaging the two candidates again using the result of the averaging may be simpler from a computational standpoint. An example of this is illustrated in the following equations.

[0412] [Уравнение 19][0412] [Equation 19]

[0413] В качестве альтернативы, среднее значение может быть получено следующим образом.[0413] Alternatively, the average can be obtained as follows.

[0414] [Уравнение 20][0414] [Equation 20]

[0415] [Уравнение 21][0415] [Equation 21]

[0416] [Уравнение 22][0416] [Equation 22]

[0417] Кодер/декодер может сначала усреднять двух кандидатов как в Уравнениях с 19 по 21, а затем может усреднять результирующие значения с использованием третьего кандидата. В качестве альтернативы, кодер/декодер может назначать более высокую важность/вес кандидату, т.е. MV_L, путем применения дважды операции сдвига, как в Уравнении 22. Среднее значение может быть извлечено без операции деления, а только посредством операции сдвига, с использованием Уравнений с 19 по 22.[0417] The encoder/decoder may first average the two candidates as in Equations 19 to 21, and then may average the resulting values using the third candidate. Alternatively, the encoder/decoder may assign a higher importance/weight to the candidate, i.e. MV_L, by applying the shift operation twice, as in Equation 22. The average can be extracted without the division operation, but only by the shift operation, using Equations 19 to 22.

[0418][0418]

[0419] В варианте осуществления изобретения, предлагается способ, использующий заданное количество (n) пространственных кандидатов, вместо двух основанных на истории пространственных кандидатов при извлечении H-STMVP. n кандидаты не должны быть по существу следующей друг за другом последовательностью декодирования. n кандидаты могут быть выбраны произвольным образом или в соответствии с некоторым правилом.[0419] In an embodiment of the invention, a method is provided that uses a given number (n) of spatial candidates, instead of two history-based spatial candidates, when retrieving the H-STMVP. n candidates need not be essentially consecutive decoding sequences. n candidates can be selected randomly or according to some rule.

[0420] Соответственно, Уравнение 18 может быть представлено с использованием более общего способа, аналогично Уравнению 23 ниже.[0420] Accordingly, Equation 18 can be represented using a more general method, similar to Equation 23 below.

[0421] [Уравнение 23][0421] [Equation 23]

[0422] В другом варианте осуществления, предполагая, что используется 5 пространственных кандидатов, влияние увеличения пространственных кандидатов на формирование кандидата H-STMVP может быть минимизировано, и пространственный кандидат и временной кандидат могут быть надлежащим образом объединены путем улучшения весового коэффициента, который применяется к временному кандидату.[0422] In another embodiment, assuming that 5 spatial candidates are used, the impact of increasing spatial candidates on the generation of the H-STMVP candidate can be minimized, and the spatial candidate and temporal candidate can be properly combined by improving the weighting factor that is applied to the temporal to the candidate.

[0423] Соответственно, с этой целью, после того, как пространственные кандидаты усредняются вместе с использованием Уравнения 24, вышеприведенная цель может быть достигнута путем усреднения MV-TMVP с использованием результата усреднения.[0423] Accordingly, for this purpose, after the spatial candidates are averaged together using Equation 24, the above objective can be achieved by averaging the MV-TMVP using the result of the averaging.

[0424] [Уравнение 24][0424] [Equation 24]

[0425][0425]

[0426] В варианте осуществления изобретения, предлагается способ добавления весового коэффициента (или весового множителя) к кандидату на вектор движения, который используется для извлечения H-STMVP. В данном случае, весовой коэффициент может быть определен опытным путем или может быть определен с учетом временного расстояния до фиксированного опорного кадра или может быть определен с учетом местоположения в исторической таблице. Например, новый кандидат может обладать более тяжелым весовым коэффициентов, чем предыдущий кандидат.[0426] In an embodiment of the invention, a method is provided for adding a weight factor (or weight multiplier) to a motion vector candidate that is used to extract an H-STMVP. In this case, the weighting factor may be determined empirically, or may be determined by taking into account the temporal distance to a fixed reference frame, or may be determined by taking into account a location in the history table. For example, a new candidate may have a heavier weighting than a previous candidate.

[0427] Т.е. в настоящем варианте осуществления, Уравнение 18 может быть представлено аналогично Уравнению 25 ниже.[0427] That is in the present embodiment, Equation 18 can be presented similar to Equation 25 below.

[0428] [Уравнение 25][0428] [Equation 25]

[0429] В данном случае, весовой коэффициент может иметь то же самое значение или неравномерно распределенное значение.[0429] In this case, the weighting factor may have the same value or an unevenly distributed value.

[0430][0430]

[0431] В варианте осуществления изобретения, предлагается способ масштабирования вектора движения, который используется для извлечения кандидата H-STMVP в качестве одной опорной картинки.[0431] In an embodiment of the invention, a motion vector scaling method is proposed that is used to extract an H-STMVP candidate as one reference picture.

[0432] Фиг. 34 является схемой для описания способа извлечения кандидата H-STMVP с использованием векторов движения, которые ссылаются на разные опорные картинки в соответствии с вариантом осуществления изобретения.[0432] FIG. 34 is a diagram for describing a method for extracting an H-STMVP candidate using motion vectors that refer to different reference pictures in accordance with an embodiment of the invention.

[0433] Обращаясь к Фиг. 34, предполагается, что кандидаты MV_L, MV_L-1 и MV_TMVP ссылаются на (или указывают) соответствующие разные опорные картинки. Т.е. Фиг. 34 иллюстрирует то, что кандидаты, которые используются для формирования кандидатов H-STMVP, могут иметь разные опорные индексы и в результате иметь разные опорные кадры.[0433] Referring to FIG. 34, it is assumed that the candidates MV_L, MV_L-1 and MV_TMVP refer to (or indicate) respective different reference pictures. Those. Fig. 34 illustrates that the candidates that are used to generate H-STMVP candidates may have different reference indices and, as a result, have different reference frames.

[0434] Среднее из Уравнений с 18 по 25 может быть не равным значением результата, потому что кадр с более близким опорным кадром может, по существу, оказывать большее влияние на вектор движения H-STMVP. Соответственно, предлагается способ масштабирования всех векторов движения в одном опорном кадре для равного сравнения и объединения.[0434] The average of Equations 18 to 25 may not be equal to the result value because a frame with a closer reference frame may inherently have a greater influence on the motion vector of the H-STMVP. Accordingly, a method is proposed to scale all motion vectors in one reference frame for equal comparison and fusion.

[0435] В данном случае, кодер может определять, какой один кадр, выполненный как часть оптимизации RD, является наиболее подходящим для использования в качестве опорного кадра. В варианте осуществления, выбранный опорный кадр может быть просигнализирован в заголовке слайса аналогично индексу массива TMVP, который присутствует в заголовке слайса. Например, опорный кадр, который должен быть использован, может быть сформирован с использованием фиксированного правила. В качестве альтернативы, например, список может быть отмасштабирован как первый доступный опорный кадр из L0 или список может быть отмасштабирован на основании значения порядкового номера текущей картинки.[0435] In this case, the encoder may determine which one frame, performed as part of the RD optimization, is most suitable for use as a reference frame. In an embodiment, the selected reference frame may be signaled in the slice header similar to the TMVP array index that is present in the slice header. For example, a reference frame to be used may be generated using a fixed rule. Alternatively, for example, the list may be scaled as the first available reference frame from L0, or the list may be scaled based on the current picture index value.

[0436] В одном варианте осуществления, для достижения вышеупомянутой цели, кодер может передавать декодеру информацию для одной фиксированной картинки с использованием высокоуровневого синтаксиса (HLS), который может быть частью набора параметров последовательности, набора параметров картинки, заголовка слайса, единицы дерева кодирования и/или другого заголовка данных. Например, может быть определена структура высокоуровневого синтаксиса, такая как Таблица 6 и/или Таблица 7 ниже.[0436] In one embodiment, to achieve the above purpose, the encoder may transmit information to the decoder for one fixed picture using high-level syntax (HLS), which may be part of a sequence parameter set, a picture parameter set, a slice header, a coding tree unit, and/or or other data header. For example, a high-level syntax structure such as Table 6 and/or Table 7 below may be defined.

[0437] [Таблица 6][0437] [Table 6]

high_level_parameter_set(){high_level_parameter_set(){ ОписаниеDescription ... set_HSTMVP_ref_pic_flagset_HSTMVP_ref_pic_flag u(1)u(1) ...

[0438] Обращаясь к Таблице 6, set_HSTMVP_ref_pic_flag равный 1 указывает, что set_HSTMVP_idx присутствует в заголовке слайса не-IDR картинки в CVS. set_HSTMVP_ref_pic_flag равный 0 указывает, что set_HSTMVP_idx не присутствует в заголовке слайса.[0438] Referring to Table 6, set_HSTMVP_ref_pic_flag equal to 1 indicates that set_HSTMVP_idx is present in the non-IDR picture slice header in CVS. set_HSTMVP_ref_pic_flag equal to 0 indicates that set_HSTMVP_idx is not present in the slice header.

[0439] [Таблица 7][0439] [Table 7]

slice_segment_header(){slice_segment_header(){ ОписаниеDescription ... if(set_HSTMVP_ref_pic_flag)if(set_HSTMVP_ref_pic_flag) slice_HSTMVP_idx slice_HSTMVP_idx u(1)u(1) ... }} ...

[0440] Обращаясь к Таблице 7, slice_HMVP_idx обозначает опорный индекс. В одном варианте осуществления, опорный индекс может быть выбран по отношению к списку L0.[0440] Referring to Table 7, slice_HMVP_idx denotes the reference index. In one embodiment, the reference index may be selected relative to the list L0.

[0441][0441]

[0442] В вариантах осуществления изобретения, более подробные варианты осуществления будут описаны в отношении описанных выше вариантов осуществления. В частности, предлагается способ опосредованного использования аффинного кандидата HMVP путем использования позиции и размерной информации для того, чтобы вычислять или извлекать CPMV текущего блока. В изобретении, извлеченный CPMV может упоминаться как унаследованный аффинный кандидат HMVP. Унаследованный Аффинный кандидат HMVP в соответствии с вариантом осуществления изобретения может быть использован в описанном выше процессе формирования Аффинного списка слияния и/или Аффинного списка AMVP.[0442] In embodiments of the invention, more detailed embodiments will be described in relation to the above-described embodiments. In particular, a method is proposed to indirectly use an HMVP affine candidate by using position and dimensional information to calculate or retrieve the CPMV of the current block. In the invention, the extracted CPMV may be referred to as the legacy affinity candidate HMVP. The legacy HMVP Affine Candidate in accordance with an embodiment of the invention may be used in the Merge Affine List and/or AMVP Affine List generation process described above.

[0443] Фиг. 35 является схемой, иллюстрирующей местоположение блока для извлечения унаследованного аффинного кандидата HMVP в соответствии с вариантом осуществления изобретения.[0443] FIG. 35 is a diagram illustrating the location of a block for extracting a legacy HMVP affinity candidate in accordance with an embodiment of the invention.

[0444] Обращаясь к Фиг. 35, CPMV текущего блока 3501 может быть извлечен на основании местоположения и размера аффинного кандидата HMVP образом подобным тому, как в способе извлечения общего унаследованного CPMV из соседних блоков. Т.е. кодер/декодер может извлекать векторы движения точек управления текущего блока 3501 на основании информации о позиции и размере (например, ширине и высоте) опорного блока 3502, т.е. аффинного кандидата HMVP.[0444] Referring to FIG. 35, the CPMV of the current block 3501 can be extracted based on the location and size of the HMVP affine candidate in a manner similar to the method of extracting the common legacy CPMV from neighboring blocks. Those. the encoder/decoder may extract motion vectors of the control points of the current block 3501 based on information about the position and size (eg, width and height) of the reference block 3502, i.e. HMVP affine candidate.

[0445] В качестве варианта осуществления, CPMV унаследованного аффинного HMVP текущего блока может быть извлечен путем использования Уравнений 26 и 27 ниже.[0445] As an embodiment, the CPMV of the current block's legacy affine HMVP can be extracted by using Equations 26 and 27 below.

[0446] [Уравнение 26][0446] [Equation 26]

V0x=VB0x + (VB2_x - VB0x ) * ( posCurCU_Y - posRefCU_Y ) / RefCU_height + (VB1x - VB0x ) * (posCurCU_X - posRefCU_X) / RefCU_widthV0x=VB0x + (VB2_x - VB0x) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1x - VB0x) * (posCurCU_X - posRefCU_X) / RefCU_width

[0447] [Уравнение 27][0447] [Equation 27]

V0y=VB0y + (VB2_y - VB0y ) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1y - VB0y ) * (posCurCU_X - posRefCU_X) / RefCU_widthV0y=VB0y + (VB2_y - VB0y ) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1y - VB0y ) * (posCurCU_X - posRefCU_X) / RefCU_width

[0448] В Уравнениях 26 и 27, posCurCU_Y представляет собой значение вертикальной координаты верхнего левого сэмпла текущего блока 3501, а posRefCU_Y представляет собой значение вертикальной координаты верхнего левого сэмпла опорного блока 3502. posCurCU_X представляет собой значение горизонтальной координаты верхнего левого сэмпла текущего блока 3501, а posRefCU_X представляет собой значение горизонтальной координаты верхнего левого сэмпла опорного блока 3502. RefCU_height представляет собой высоту опорного блока 3502, а RefCU_width представляет собой ширину опорного блока 3502.[0448] In Equations 26 and 27, posCurCU_Y is the vertical coordinate value of the top left sample of the current block 3501, and posRefCU_Y is the vertical coordinate value of the top left sample of the reference block 3502. posCurCU_X is the horizontal coordinate value of the top left sample of the current block 3501, and posRefCU_X is the horizontal coordinate value of the top left sample of reference block 3502. RefCU_height is the height of reference block 3502, and RefCU_width is the width of reference block 3502.

[0449][0449]

[0450] В одном варианте осуществления изобретения, при добавлении аффинного кандидата HMVP (непосредственного или унаследованного HMVP), ограничения могут быть добавлены для выбора аффинного кандидата HMVP, который может быть использован для формирования аффинного списка слияния или аффинного списка AMVP.[0450] In one embodiment of the invention, when an HMVP affine candidate (direct or legacy HMVP) is added, constraints can be added to select the HMVP affine candidate that can be used to generate a merge affine list or an AMVP affine list.

[0451] В качестве примера, аффинный кандидат HMVP может быть добавлен в аффинный список слияния или аффинный список AMVP, только когда аффинный кандидат HMVP является смежным с текущим блоком.[0451] As an example, an HMVP affine candidate may be added to a merge affine list or an AMVP affine list only when the HMVP affine candidate is adjacent to the current block.

[0452] В качестве другого примера, аффинный кандидат HMVP может быть добавлен в аффинный список слияния или аффинный список AMVP, только когда аффинный кандидат HMVP располагается (или существует) в рамках конкретного расстояния от текущего блока. Например, конкретное расстояние может быть предварительно определенным пиксельным расстоянием. Кодер/декодер может определять, располагается ли аффинный кандидат HMVP в рамках предварительно определенного конкретного расстояния, чтобы определять, доступен ли аффинный кандидат HMVP.[0452] As another example, an HMVP affine candidate may be added to a merge affine list or an AMVP affine list only when the HMVP affine candidate is located (or exists) within a specific distance from the current block. For example, the specific distance may be a predetermined pixel distance. The encoder/decoder may determine whether an HMVP affine candidate is located within a predetermined specific distance to determine whether an HMVP affine candidate is available.

[0453] В качестве другого примера, аффинный кандидат HMVP может быть добавлен в аффинный список слияния или аффинный список AMVP, только когда аффинный кандидат HMVP располагается (или существует) в конкретном местоположении на основании текущего блока. Например, когда аффинный кандидат HMVP присутствует в конкретном местоположении, это может быть случаем, когда аффинный кандидат HMVP является левым или верхним соседним блоком для текущего блока.[0453] As another example, an HMVP affine candidate may be added to a merge affine list or an AMVP affine list only when an HMVP affine candidate is located (or exists) at a specific location based on the current block. For example, when an HMVP affine candidate is present at a particular location, it may be the case that the HMVP affine candidate is the left or top neighbor of the current block.

[0454] Применительно к аффинной HMVP LUT, которая имеет N элементов, описанный выше процесс верификации для всех элементов или первых M элементов может быть выполнен до тех пор, пока список слияния или AMVP не является полным, или до тех пор, пока не достигается предварительно определенное количество кандидатов HMVP.[0454] With respect to an affine HMVP LUT that has N elements, the verification process described above for all elements or the first M elements can be performed until the merge list or AMVP is complete, or until it is previously reached a certain number of HMVP candidates.

[0455][0455]

[0456] В одном варианте осуществления изобретения, предлагается способ, в котором аффинный кандидат HMVP используется для замещения унаследованного аффинного кандидата, который уже присутствует в аффинном списке слияния и/или аффинном списке AMVP.[0456] In one embodiment of the invention, a method is provided in which an HMVP affinity candidate is used to replace a legacy affinity candidate that is already present in a merge affine list and/or an AMVP affine list.

[0457] Фиг. 36 является схемой, иллюстрирующей аффинный список слияния или аффинный список AMVP в соответствии с вариантом осуществления изобретения.[0457] FIG. 36 is a diagram illustrating an affine merge list or an AMVP affine list in accordance with an embodiment of the invention.

[0458] Обращаясь к Фиг. 36, кодер/декодер может замещать унаследованного кандидата, присутствующего в существующем аффинном списке слияния или аффинном списке AMVP, на унаследованного аффинного кандидата HMVP. Т.е. когда основанный на субблоке режим слияния применяется к текущему блоку, кодер/декодер может формировать основанный на субблоке список кандидатов на слияние с использованием унаследованного аффинного кандидата и уже созданного аффинного кандидата, извлекать унаследованного аффинного кандидата HMVP и замещать по меньшей мере одного унаследованного аффинного кандидата, включенного в основанный на субблоке список кандидатов на слияние, унаследованным аффинным кандидатом HMVP.[0458] Referring to FIG. 36, the encoder/decoder may replace a legacy candidate present in an existing merge affine list or AMVP affine list with a legacy HMVP affine candidate. Those. when a subblock-based merge mode is applied to the current block, the encoder/decoder may generate a subblock-based merge candidate list using the legacy affine candidate and the already created affine candidate, retrieve the legacy HMVP affine candidate, and replace at least one legacy affine candidate included into a subblock-based list of merge candidates inherited by the HMVP affine candidate.

[0459] В дополнение, в одном варианте осуществления изобретения, аффинная HMVP таблица поиска (LUT) может быть инициализирована в начале слайса, строки CTU или CTU. Посредством этого можно улучшить эффективность параллельной обработки.[0459] In addition, in one embodiment of the invention, an affine HMVP lookup table (LUT) may be initialized at the beginning of a slice, CTU row, or CTU. By doing this, the efficiency of parallel processing can be improved.

[0460][0460]

[0461] Далее, в нижеследующих вариантах осуществления, предлагается способ уменьшения количества наихудших проверок отсечения из HMVP.[0461] Further, in the following embodiments, a method is proposed for reducing the number of worst case pruning checks from an HMVP.

[0462] В варианте осуществления изобретения, когда кандидат HMVP добавляется в список слияния, количество проверок отсечения может быть определено на основании количества доступных кандидатов в списке слияния и количества кандидатов HMVP, которые могут быть добавлены в список слияния. Далее, при описании вариантов осуществления изобретения, для удобства описания, переменные определены следующим образом.[0462] In an embodiment of the invention, when an HMVP candidate is added to the merge list, the number of pruning checks may be determined based on the number of available candidates in the merge list and the number of HMVP candidates that can be added to the merge list. In the following, when describing embodiments of the invention, for convenience of description, variables are defined as follows.

[0463] - NST: количество доступных (или существующих) кандидатов в списке слияния[0463] - NST: number of available (or existing) candidates in the merge list

[0464] - NHMVP: количество кандидатов HMVP в таблице (т.е. размер таблицы HMVP)[0464] - NHMVP: number of HMVP candidates in the table (i.e. HMVP table size)

[0465] - NmrgToBeAdded: количество кандидатов HMVP, добавленных в список слияния[0465] - NmrgToBeAdded: number of HMVP candidates added to the merge list

[0466] - NHMVPChecked: количество кандидатов HMVP, которые являются проверенными с отсечением.[0466] - NHMVPChecked: The number of HMVP candidates that are checked with the cutoff.

[0467] - Nmax_hmvp_prunning: количество проверок отсечения наихудшего случая, которые требуются для добавления кандидата HMVP в список слияния[0467] - Nmax_hmvp_prunning: number of worst case pruning checks required to add an HMVP candidate to the merge list

[0468] В одном варианте осуществления изобретения, кандидат HMVP может быть добавлен в список слияния в соответствии со следующими условиями.[0468] In one embodiment of the invention, an HMVP candidate may be added to the merge list in accordance with the following conditions.

[0469] - Первое условие: Когда LUT является ранее отсеченной (т.е. отсутствуют идентичный mv среди кандидатов в HMVP LUT)[0469] - First condition: When the LUT is previously pruned (i.e. there are no identical mvs among the HMVP LUT candidates)

[0470] - Второе условие: Когда размер таблицы HMVP LUT соответствует 6[0470] - Second condition: When the HMVP LUT size is 6

[0471] - Третье условие: Когда максимальное количество доступных (или существующих) кандидатов на слияние для добавления кандидата HMVP в список слияния соответствует 4. Т.е. это происходит, когда количество кандидатов на слияние в списке слияния меньше значения, полученного путем вычитания 1 из максимального размера списка слияния (или максимального количества кандидатов на слияние). Например, максимальный размер списка слияния может быть 6, и если количество текущих доступных кандидатов на слияние меньше 5, то может быть добавлен (или вставлен) кандидат HMVP. Другими словами, кандидат HMVP может быть добавлен только вплоть до индекса 5 списка слияния.[0471] - Third condition: When the maximum number of available (or existing) merge candidates for adding an HMVP candidate to the merge list is 4. That is, this occurs when the number of merge candidates in the merge list is less than the value obtained by subtracting 1 from the maximum size of the merge list (or the maximum number of merge candidates). For example, the maximum size of a merge list could be 6, and if the number of currently available merge candidates is less than 5, then an HMVP candidate can be added (or inserted). In other words, an HMVP candidate can only be added up to index 5 of the merge list.

[0472] Когда кандидат HMVP добавляется в список слияния (т.е. становится кандидатом на слияние), каждому кандидату HMVP может потребоваться проверка отсечения для удаления дубликата среди кандидатов на слияние. В соответствии с существующей методикой сжатия изображения, худшее количество проверок отсечения, которое требуется для добавления HMVP в список слияния, может быть вычислено, как показано в Таблице 8 ниже.[0472] When an HMVP candidate is added to the merge list (i.e., becomes a merge candidate), each HMVP candidate may require a pruning check to remove duplicates among the merge candidates. According to the existing image compression technique, the worst case number of pruning checks required to add HMVP to the merge list can be calculated as shown in Table 8 below.

[0473] [Таблица 8][0473] [Table 8]

NST N ST NmrgToBeAdded N mrgToBeAdded NHMVPChecked N HMVChecked Nmax_hmvp_prunning N max_hmvp_prunning 00 55 66 00 11 44 66 44 22 33 66 77 33 22 66 99 44 11 66 1010

[0474] Обращаясь к Таблице 8, в соответствии с существующей методикой сжатия изображения, проверка отсечения может быть выполнена над шестью кандидатами HMVP в таблице HMVP (или списке HMVP, списке кандидатов HMVP).[0474] Referring to Table 8, according to the existing image compression technique, a pruning check can be performed on six HMVP candidates in the HMVP table (or HMVP list, HMVP candidate list).

[0475] В частности, 1) когда присутствует один кандидат в списке слияния, в список слияния может быть добавлено 4 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 4. 2) Когда присутствует два кандидата в списке слияния, в список слияния может быть добавлено 3 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7. 3) Когда присутствует три кандидата в списке слияния, в список слияния может быть добавлено 2 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 9. 4) Когда присутствует четыре кандидата в списке слияния, в список слияния может быть добавлен 1 кандидат HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 10.[0475] In particular, 1) when there is one candidate in the merge list, 4 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the six HMVP candidates. In this case, the number of worst pruning checks can be 4. 2) When there are two candidates in the merge list, 3 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the six HMVP candidates. In this case, the number of worst pruning checks can be 7. 3) When there are three candidates in the merge list, 2 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the six HMVP candidates. In this case, the number of worst pruning checks can be 9. 4) When there are four candidates in the merge list, 1 HMVP candidate can be added to the merge list. Then, cutoff tests can be performed on the six HMVP candidates. In this case, the number of worst cutoff checks could be 10.

[0476] В варианте осуществления изобретения, предлагается способ для уменьшения количества худших проверок отсечения, описанный выше. Если в списке слияния присутствует много кандидатов на слияние, то поскольку результат кодирования HMVP уменьшатся по мере увеличения кандидатов на слияние (т.е. кандидатов не-HMVP), то возможно, потребуется уменьшение количества кандидатов HMVP, которые должны быть отсечены. Соответственно, в варианте осуществления изобретения, кодер/декодер может устанавливать количество кандидатов HMVP, которые должны быть проверены (NHMVPChecked), равным количеству доступных кандидатов HMVP, которые должны быть добавлены (NmrgToBeAdded), для того чтобы уменьшить количество худших проверок отсечения. В данном случае, количество худших проверок отсечения может быть вычислено, как показано в Таблице 9 ниже.[0476] In an embodiment of the invention, a method for reducing the number of worst-case pruning checks described above is provided. If there are many merge candidates in the merge list, since the HMVP encoding result will decrease as the merge candidates (ie, non-HMVP candidates) increase, it may be necessary to reduce the number of HMVP candidates that must be pruned. Accordingly, in an embodiment of the invention, the encoder/decoder may set the number of HMVP candidates that must be checked (NHMVPChecked) equal to the number of available HMVP candidates that must be added (NmrgToBeAdded) in order to reduce the number of worst-case pruning checks. In this case, the number of worst cutoff tests can be calculated as shown in Table 9 below.

[0477] [Таблица 9][0477] [Table 9]

NST N ST NmrgToBeAdded N mrgToBeAdded NHMVPChecked N HMVChecked Nmax_hmvp_prunning N max_hmvp_prunning 00 55 55 00 11 44 44 44 22 33 33 66 33 22 22 66 44 11 11 44

[0478] Обращаясь к Таблице 9, количество наихудших проверок отсечения для HMVP может уменьшено с 10 до 6 в сравнении с обычными методиками сжатия изображения.[0478] Referring to Table 9, the number of worst case clipping checks for HMVP can be reduced from 10 to 6 compared to conventional image compression techniques.

[0479] Обращаясь к Таблице 9, в варианте осуществления, 1) когда присутствует один кандидат в списке слияния, в список слияния может быть добавлено 4 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для четырех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 4. 2) Когда присутствует два кандидата в списке слияния, в список слияния может быть добавлено 3 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для трех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 6. 3) Когда присутствует три кандидата в списке слияния, в список слияния может быть добавлено 2 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для двух кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 6. 4) Когда присутствует четыре кандидата в списке слияния, в список слияния может быть добавлен 1 кандидат HMVP. Затем, могут быть выполнены проверки отсечения для одного кандидата HMVP. В данном случае, количество худших проверок отсечения может быть 4.[0479] Referring to Table 9, in the embodiment, 1) when there is one candidate in the merge list, 4 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the four HMVP candidates. In this case, the number of worst pruning checks can be 4. 2) When there are two candidates in the merge list, 3 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the three HMVP candidates. In this case, the number of worst pruning checks can be 6. 3) When there are three candidates in the merge list, 2 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the two HMVP candidates. In this case, the number of worst pruning checks can be 6. 4) When there are four candidates in the merge list, 1 HMVP candidate can be added to the merge list. Then, cutoff tests can be performed on one HMVP candidate. In this case, the number of worst cutoff checks can be 4.

[0480] В варианте осуществления изобретения, для того чтобы уменьшить количество наихудших проверок отсечения, кодер/декодер может устанавливать количество кандидатов HMVP, в отношении которых должна быть осуществлена проверка отсечения, чтобы оно было точно таким же, как сумма количества доступных кандидатов HMVP (NmrgToBeAdded), которые должны быть добавлены, и K. Здесь K представляет собой предварительно определенное постоянное значение. В качестве примера, когда K соответствует 1, наихудшее количество проверок отсечения может быть вычислено, как показано в Таблице 10 ниже.[0480] In an embodiment of the invention, in order to reduce the number of worst case pruning checks, the encoder/decoder may set the number of HMVP candidates against which a pruning check should be performed to be exactly the same as the sum of the number of available HMVP candidates (NmrgToBeAdded ), which must be added, and K. Here K represents a predefined constant value. As an example, when K is 1, the worst case number of pruning checks can be calculated as shown in Table 10 below.

[0481] [Таблица 10][0481] [Table 10]

NST NST NmrgToBeAdded N mrgToBeAdded NHMVPChecked N HMVChecked Nmax_hmvp_prunning N max_hmvp_prunning 00 55 66 00 11 44 55 44 22 33 44 77 33 22 33 88 44 11 22 77

[0482] Обращаясь к Таблице 10, в варианте осуществления, 1) когда присутствует один кандидат в списке слияния, в список слияния может быть добавлено 4 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для пяти кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 4. 2) Когда присутствует два кандидата в списке слияния, в список слияния может быть добавлено 3 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для четырех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7. 3) Когда присутствует три кандидата в списке слияния, в список слияния может быть добавлено 2 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для трех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 8. 4) Когда присутствует четыре кандидата в списке слияния, в список слияния может быть добавлен 1 кандидат HMVP. Затем, могут быть выполнены проверки отсечения для двух кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7.[0482] Referring to Table 10, in the embodiment, 1) when there is one candidate in the merge list, 4 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the five HMVP candidates. In this case, the number of worst pruning checks can be 4. 2) When there are two candidates in the merge list, 3 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the four HMVP candidates. In this case, the number of worst pruning checks can be 7. 3) When there are three candidates in the merge list, 2 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the three HMVP candidates. In this case, the number of worst pruning checks can be 8. 4) When there are four candidates in the merge list, 1 HMVP candidate can be added to the merge list. Then, cutoff tests can be performed on the two HMVP candidates. In this case, the number of worst cutoff checks can be 7.

[0483] В варианте осуществления изобретения, для того чтобы уменьшить проверки отсечения в худшем случае, количество кандидатов HMVP, которые должны быть проверены (NHMVPChecked), может быть определено как в Уравнении 28 ниже.[0483] In an embodiment of the invention, in order to reduce worst-case pruning checks, the number of HMVP candidates that must be checked (NHMVPChecked) can be determined as in Equation 28 below.

[0484] [Уравнение 28][0484] [Equation 28]

[0485] В Уравнении 28, C представляет собой предварительно определенное постоянное значение. Если C соответствует 2, то худшее количество проверок отсечения может быть вычислено, как показано в Таблице 11 ниже.[0485] In Equation 28, C is a predetermined constant value. If C is equal to 2, then the worst case number of pruning checks can be calculated as shown in Table 11 below.

[0486] [Таблица 11][0486] [Table 11]

NST NST NmrgToBeAdded N mrgToBeAdded NHMVPChecked N HMVChecked Nmax_hmvp_prunning N max_hmvp_prunning 00 55 66 00 11 44 66 44 22 33 66 77 33 22 44 99 44 11 22 77

[0487] Обращаясь к Таблице 11, в варианте осуществления, 1) когда присутствует один кандидат в списке слияния, в список слияния может быть добавлено 4 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 4. 2) Когда присутствует два кандидата в списке слияния, в список слияния может быть добавлено 3 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7. 3) Когда присутствует три кандидата в списке слияния, в список слияния может быть добавлено 2 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для четырех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 9. 4) Когда присутствует четыре кандидата в списке слияния, в список слияния может быть добавлен 1 кандидат HMVP. Затем, могут быть выполнены проверки отсечения для двух кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7.[0487] Referring to Table 11, in the embodiment, 1) when there is one candidate in the merge list, 4 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the six HMVP candidates. In this case, the number of worst pruning checks can be 4. 2) When there are two candidates in the merge list, 3 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the six HMVP candidates. In this case, the number of worst pruning checks can be 7. 3) When there are three candidates in the merge list, 2 HMVP candidates can be added to the merge list. Then, cutoff tests can be performed on the four HMVP candidates. In this case, the number of worst pruning checks can be 9. 4) When there are four candidates in the merge list, 1 HMVP candidate can be added to the merge list. Then, cutoff tests can be performed on the two HMVP candidates. In this case, the number of worst cutoff checks can be 7.

[0488][0488]

[0489] Когда HMVP добавляется в список слияния и/или список AMVP, вновь требуется выполнение отсечения, чтобы не допустить дублирования с кандидатами, существующими в списке отсечения и/или списке AMVP. Если HMVP LUT уже отсечена посредством ограниченной операции FIFO, как описано на Фиг. 29 выше, то при вставке (или добавлении) кандидата HMVP в список слияния, сравнение (или проверка отсечения) между кандидатами HMVP может не потребоваться. По этой причине количество проверок отсечения может быть уменьшено, при использовании неограничивающей таблицы FIFO, как описано на Фиг. 28 выше. Это потому, что проверки отсечения между кандидатами HMVP необходимы, при вставке кандидатов HMVP в список слияния. Как описано выше, в изобретении, HMVP LUT не ограничена своим названием, и может упоминаться как LUT, таблица, таблица HMVP, таблица кандидатов HMVP, буфер, буфер HMVP, буфер кандидатов HMVP, список HMVP, список кандидатов HMVP, список кандидатов HMVP, список основанных на истории кандидатов на слияние и т.д.[0489] When an HMVP is added to the merge list and/or the AMVP list, pruning is again required to prevent duplication with candidates existing in the pruning list and/or the AMVP list. If the HMVP LUT has already been pruned through a limited FIFO operation as described in FIG. 29 above, then when inserting (or adding) an HMVP candidate to a merge list, a comparison (or cutoff check) between the HMVP candidates may not be required. For this reason, the number of pruning checks can be reduced by using a non-restrictive FIFO table, as described in FIG. 28 above. This is because cutoff checks between HMVP candidates are required when inserting HMVP candidates into the merge list. As described above, in the invention, the HMVP LUT is not limited by its name, and may be referred to as LUT, table, HMVP table, HMVP candidate table, buffer, HMVP buffer, HMVP candidate buffer, HMVP list, HMVP candidate list, HMVP candidate list, list based on the history of merger candidates, etc.

[0490] В одном варианте осуществления изобретения, может быть определен размер HMVP таблицы поиска (LUT) с учетом процесса вставки кандидата HMVP для создания списка слияния и/или списка AMVP. В частности, кандидаты HMVP могут быть добавлены вплоть до предварительно определенного размера списка слияния. Например, когда размер максимального списка слияния определяется как 6, HMVP не может быть 6-м кандидатом. Если 5 кандидатов на слияние доступны (или присутствуют) в списке слияния, то кандидат HMVP не может быть добавлен. В данном случае, шестой кандидат может быть выбран из кандидатов отличных от HMVP (или в соответствии с другим способом). Вследствие этого, с учетом описанного выше процесса вставки кандидата HMVP, в одном варианте осуществления изобретения, предлагается следующий способ выбора размера HMVP LUT.[0490] In one embodiment of the invention, the size of the HMVP lookup table (LUT) may be determined taking into account the HMVP candidate insertion process to create a merge list and/or an AMVP list. In particular, HMVP candidates can be added up to a predefined merge list size. For example, when the size of the maximum merge list is defined as 6, HMVP cannot be the 6th candidate. If 5 merge candidates are available (or present) in the merge list, then the HMVP candidate cannot be added. In this case, the sixth candidate may be selected from candidates other than HMVP (or according to another method). Therefore, in view of the above-described HMVP candidate insertion process, in one embodiment of the invention, the following method for selecting the size of an HMVP LUT is proposed.

[0491] В качестве варианта осуществления, размер таблицы HMVP LUT может быть определен или установлен равным (MaxNumMergeCand-K). Здесь, MaxNumMergeCand указывает максимальный список кандидатов на слияние (или максимальное количество кандидатов, включенных в список кандидатов на слияние или максимальное количество кандидатов на слияние), и в это время MaxNumMergeCand может быть определена как 6. K представляет собой предварительно определенную константу. Например, K может быть 1, и размер HMVP LUT может быть 5.[0491] As an embodiment, the size of the HMVP LUT may be determined or set to (MaxNumMergeCand-K). Here, MaxNumMergeCand indicates the maximum list of merge candidates (or the maximum number of candidates included in the list of merge candidates or the maximum number of merge candidates), and at this time MaxNumMergeCand can be defined as 6. K represents a predefined constant. For example, K could be 1 and the HMVP LUT size could be 5.

[0492] В соответствии с вариантом осуществления изобретения, путем ограничения HMVP до MaxNumMergeCand-K (как описано выше, например, K соответствует 1), худшее количество проверок отсечения (или худший случай) может быть уменьшен при добавлении HMVP в список слияния и/или таблицу HMVP. (Ограниченная операция FIFO, описанная ранее на Фиг. 29). В дополнение, в соответствии с вариантом осуществления изобретения, память для хранения HMVP LUT, может быть уменьшена.[0492] In accordance with an embodiment of the invention, by limiting the HMVP to MaxNumMergeCand-K (as described above, for example, K corresponds to 1), the worst case number of pruning checks (or worst case) can be reduced when adding the HMVP to the merge list and/or HMVP table. (Limited FIFO operation described previously in Fig. 29). In addition, according to an embodiment of the invention, the storage memory for the HMVP LUT may be reduced.

[0493] В варианте осуществления изобретения, процесс обновления, такой как вариант осуществления, описанный ниже, может быть применен к таблице с кандидатами на движение HMVP с учетом описанного выше размера таблицы HMVP. Нижеследующие варианты осуществления являются примерами процесса обновления таблицы HMVP, и варианты осуществления изобретения этим не ограничены.[0493] In an embodiment of the invention, an update process such as the embodiment described below may be applied to the HMVP motion candidate table given the HMVP table size described above. The following embodiments are examples of the HMVP table update process, and the embodiments of the invention are not limited to this.

[0494][0494]

[0495] Процесс обновления таблицы HMVP[0495] HMVP table update process

[0496] Сначала, ввод процесса обновления таблицы HMVP может быть определен следующим образом.[0496] First, the input of the HMVP table update process can be defined as follows.

[0497] - Векторы движения mvL0 и mvL1[0497] - Motion vectors mvL0 and mvL1

[0498] - Опорные индексы refIdxL0 и refIdxL1[0498] - Reference indexes refIdxL0 and refIdxL1

[0499] - Флаги использования списка предсказания predFlagL0 и preFlagL1[0499] - Prediction list usage flags predFlagL0 and preFlagL1

[0500] Выводом данного процесса обновления может быть модифицированный массив списка кандидатов HMVP. В данном процессе, mvCand представляет собой переменную, указывающую кандидата на вектор движения с векторами движения, опорными индексами и флагами использования списка предсказания.[0500] The output of this update process may be a modified HMVP candidate list array. In this process, mvCand is a variable indicating a motion vector candidate with motion vectors, reference indices, and prediction list usage flags.

[0501] Данный процесс обновления может быть выполнен в следующих этапах.[0501] This update process can be performed in the following steps.

[0502] 1. Переменная identicalCandExist устанавливается в значение ложь, а переменная tempIdx устанавливается в 0. Здесь, identicalCandExist является переменной, указывающей, присутствует ли одна и та же информация о движении в списке кандидатов HMVP, а tempIdx является переменной, указывающей индекс кандидата HMVP, в списке кандидатов HMVP, с одной и той же информацией о движении, что и текущего вектора движения.[0502] 1. The variable identicalCandExist is set to false and the variable tempIdx is set to 0. Here, identicalCandExist is a variable indicating whether the same traffic information is present in the HMVP candidate list, and tempIdx is a variable indicating the index of the HMVP candidate , in the HMVP candidate list, with the same motion information as the current motion vector.

[0503] 2. Если HMVPCandNum больше 0, то для каждого индекса HMVPIdx с HMVPIdx=0..HMVPCandNum-1, могут быть применены следующие этапы, до тех пор, пока переменная identicalCandExist соответствует значению истина. Здесь, HMVPCandNum представляет собой количество кандидатов HMVP в списке кандидатов HMVP, и HMVPIdx представляет собой индекс, назначенный кандидатам HMVP в списке кандидатов HMVP.[0503] 2. If HMVPCandNum is greater than 0, then for each index HMVPIdx with HMVPIdx=0..HMVPCandNum-1, the following steps can be applied as long as the variable identicalCandExist is true. Here, HMVPCandNum represents the number of HMVP candidates in the HMVP candidate list, and HMVPIdx represents the index assigned to the HMVP candidates in the HMVP candidate list.

[0504] - Если mvCand имеет тот же самый вектор движения и тот же самый опорный индекс, что и у HMVPCandList[HMVPIdx] (т.е. кандидата HMVP с HMVPIdx в списке кандидатов HMVP), то identicalCandExist может быть установлена в значение истина, а tempIdx может быть установлена в HMVPIdx.[0504] - If mvCand has the same motion vector and the same reference index as HMVPCandList[HMVPIdx] (i.e. the HMVP candidate with HMVPIdx in the HMVP candidate list), then identicalCandExist may be set to true, and tempIdx can be set to HMVPIdx.

[0505] 3. И, список кандидатов HMVP может быть обновлен в соответствии со следующими этапами.[0505] 3. And, the HMVP candidate list can be updated according to the following steps.

[0506] (1) Если identicalCandExist соответствует значению истина или HMVPCandNum соответствует MaxNumMergeCand-K, то могут быть применены следующие этапы. Здесь, MaxNumMergeCand является переменной, указывающей размер списка слияния (или списка кандидатов на слияние) (или максимальное количество кандидатов списка слияния, максимальное количество кандидатов на слияние), и K является произвольной постоянной. В варианте осуществления, K может быть предварительно определено. Кроме того, в варианте осуществления, K может быть установлена в 1, и MaxNumMergeCand-K может быть 5, когда значение MaxNumMergeCand определяется как 6. Также, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5. Например, если identicalCandExist соответствует значению истина или HMVPCandNum соответствует 5, то могут быть применены следующие этапы.[0506] (1) If identicalCandExist is true or HMVPCandNum is equal to MaxNumMergeCand-K, then the following steps may be applied. Here, MaxNumMergeCand is a variable indicating the size of the merge list (or merge candidate list) (or the maximum number of merge list candidates, the maximum number of merge candidates), and K is an arbitrary constant. In an embodiment, K may be predetermined. Additionally, in an embodiment, K may be set to 1, and MaxNumMergeCand-K may be 5 when the value of MaxNumMergeCand is determined to be 6. Also, in an embodiment, MaxNumMergeCand-K may be set to 5. For example, if identicalCandExist matches the value true or HMVPCandNum matches 5, then the following steps can be applied.

[0507] - Для каждого индекса idx с idx = (tempIdx+1) .. (HMVPCandNum-1), HMVPCandList [idx−1] может быть установлено в HMVPCandList [idx]. Т.е. индекс кандидата HMVP с индексом после tempIdx может быть установлен в значение, значение которого уменьшено на 1.[0507] - For each index idx with idx = (tempIdx+1) .. (HMVPCandNum-1), HMVPCandList [idx−1] can be set to HMVPCandList [idx]. Those. The HMVP candidate index with the index after tempIdx can be set to a value whose value is decremented by 1.

[0508] - HMVPCandList [HMVPCandNum-1] может быть установлено в mvCand.[0508] - HMVPCandList [HMVPCandNum-1] can be set to mvCand.

[0509] (2) Иначе (т.е. если identicalCandExist соответствует значению ложь и HMVPCandNum меньше MaxNumMergeCand-K), могут быть применены следующие этапы. Как описано выше, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5. Например, иначе (т.е. identicalCandExist соответствует значению ложь, и HMVPCandNum меньше 5), могут быть применены следующие этапы.[0509] (2) Otherwise (ie, if identicalCandExist is false and HMVPCandNum is less than MaxNumMergeCand-K), the following steps may be applied. As described above, in an embodiment, MaxNumMergeCand-K may be set to 5. For example, otherwise (ie, identicalCandExist is false and HMVPCandNum is less than 5), the following steps may be applied.

[0510] - HMVPCandList[HMVPCandNum++] может быть установлено mvCand.[0510] - HMVPCandList[HMVPCandNum++] can be set by mvCand.

[0511] В качестве примера, данный процесс обновления может быть вызван, когда текущий слайс соответствует P или B слайсу. В это время, переменная HMVPCandNum устанавливается в 0, а переменная HMVPCandList может быть определена как массив элементов из MaxNumMergeCand-K. Как описано выше, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5. Например, в это время, переменная HMVPCandNum может быть установлена в 0 и переменная HMVPCandList может быть определена как массив элементов из 5.[0511] As an example, this update process may be invoked when the current slice matches a P or B slice. At this time, the HMVPCandNum variable is set to 0, and the HMVPCandList variable can be defined as an array of elements from MaxNumMergeCand-K. As described above, in an embodiment, MaxNumMergeCand-K can be set to 5. For example, at this time, the variable HMVPCandNum can be set to 0 and the variable HMVPCandList can be defined as an array of elements of 5.

[0512] Далее, будет описан другой пример процесса обновления таблицы HMVP.[0512] Next, another example of the HMVP table update process will be described.

[0513] Сначала, ввод процесса обновления может быть определен следующим образом.[0513] First, the update process input may be determined as follows.

[0514] - Векторы движения mvL0 и mvL1[0514] - Motion vectors mvL0 and mvL1

[0515] - Опорные индексы refIdxL0 и refIdxL1[0515] - Reference indexes refIdxL0 and refIdxL1

[0516] - Флаги использования списка предсказания predFlagL0 и preFlagL1[0516] - Prediction list usage flags predFlagL0 and preFlagL1

[0517] Выводом данного процесса обновления может быть модифицированный массив списка кандидатов HMVP. В данном процессе, mvCand представляет собой переменную, указывающую кандидата на вектор движения с векторами движения, опорными индексами и флагами использования списка предсказания.[0517] The output of this update process may be a modified HMVP candidate list array. In this process, mvCand is a variable indicating a motion vector candidate with motion vectors, reference indices, and prediction list usage flags.

[0518] Данный процесс обновления может быть выполнен в следующих этапах.[0518] This update process can be performed in the following steps.

[0519] 1. Для каждого индекса HMVPIdx с HMVPIdx=0..HMVPCandNum-1, следующие этапы могут быть применены в очередности до тех пор, пока переменная sameCand не примет значение истина. Здесь, sameCand является переменной, указывающей, присутствует ли одна и та же информация о движении в списке кандидатов HMVP.[0519] 1. For each HMVPIdx index with HMVPIdx=0..HMVPCandNum-1, the following steps may be applied in order until the sameCand variable evaluates to true. Here, sameCand is a variable indicating whether the same motion information is present in the HMVP candidate list.

[0520] - Если mvCand имеет тот же самый вектор движения и тот же самый опорный индекс, что и у HMVPCandList[HMVPIdx], то sameCand устанавливается в значение истина.[0520] - If mvCand has the same motion vector and the same reference index as HMVPCandList[HMVPIdx], then sameCand is set to true.

[0521] - Иначе, sameCand устанавливается в значение ложь.[0521] - Otherwise, sameCand is set to false.

[0522] - HMVPIdx++ (т.е. HMVPIdx увеличивается на 1)[0522] - HMVPIdx++ (i.e. HMVPIdx is increased by 1)

[0523] 2. Переменная tempIdx устанавливается в HMVPCandNum.[0523] 2. The tempIdx variable is set to HMVPCandNum.

[0524] 3. Если sameCand соответствует значению истина или HMVPCandNum соответствует MaxNumMergeCand-K, то для каждого индекса tempIdx с tempIdx = (sameCand? HMVPIdx: 1)..HMVPCandNum-1, HMVPCandList[tempIdx] копируется или устанавливается в HMVPCandList[tempIdx-1]. K является произвольной константой. В варианте осуществления, K может быть предварительно определено. Кроме того, в варианте осуществления, K может быть установлено в 1, и MaxNumMergeCand-K может быть 5, когда значение MaxNumMergeCand определяется как 6. Также, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5.[0524] 3. If sameCand matches true or HMVPCandNum matches MaxNumMergeCand-K, then for each index tempIdx with tempIdx = (sameCand? HMVPIdx: 1)..HMVPCandNum-1, HMVPCandList[tempIdx] is copied or set to HMVPCandList[tempIdx- 1]. K is an arbitrary constant. In an embodiment, K may be predetermined. Further, in an embodiment, K may be set to 1, and MaxNumMergeCand-K may be 5 when the MaxNumMergeCand value is determined to be 6. Also, in an embodiment, MaxNumMergeCand-K may be set to 5.

[0525] 4. mvCand копируется в HMVPCandList[tempIdx].[0525] 4. mvCand is copied to HMVPCandList[tempIdx].

[0526] 5. Если HMVPCandNum меньше MaxNumMergeCand-K, то HMVPCandNum увеличивается на один. Как описано выше, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5.[0526] 5. If HMVPCandNum is less than MaxNumMergeCand-K, then HMVPCandNum is increased by one. As described above, in an embodiment, MaxNumMergeCand-K can be set to 5.

[0527] Вышеупомянутые варианты осуществления изобретения могут быть разделены и описаны, для удобства описания, но изобретение этим не ограничивается. Т.е. описанные выше варианты осуществления могут быть выполнены независимо, или один или несколько вариантов осуществления могут быть объединены и выполнены.[0527] The above embodiments of the invention may be separated and described for convenience of description, but the invention is not limited thereto. Those. the embodiments described above may be performed independently, or one or more embodiments may be combined and performed.

[0528] Фиг. 37 является блок-схемой, иллюстрирующей способ обработки видеосигнала на основании основанного на истории предсказания вектора движения в соответствии с вариантом осуществления, к которому применяется изобретение.[0528] FIG. 37 is a flow chart illustrating a method of processing a video signal based on history-based motion vector prediction in accordance with an embodiment to which the invention is applied.

[0529] Обращаясь к Фиг. 37, декодер в основном описан для удобства описания, но изобретение этим не ограничено. Способ обработки видеосигнала на основании основанного на истории предсказания вектора движения в соответствии с вариантом осуществления изобретения может быть идентично выполнен в кодере и декодере.[0529] Referring to FIG. 37, the decoder is mainly described for convenience of description, but the invention is not limited to this. A method for processing a video signal based on history-based motion vector prediction according to an embodiment of the invention may be identically implemented in an encoder and a decoder.

[0530] В способе обработки видеосигнала на основании основанного на истории предсказания вектора движения, декодер конфигурирует список кандидатов на слияние на основании соседних блоков для текущего блока (S3701).[0530] In a video signal processing method based on history-based motion vector prediction, the decoder configures a merge candidate list based on neighboring blocks for the current block (S3701).

[0531] Декодер добавляет основанного на истории кандидата на слияние для текущего блока в список кандидатов на слияние (S3702).[0531] The decoder adds a history-based merge candidate for the current block to the list of merge candidates (S3702).

[0532] Декодер получает индекс, указывающий кандидата на слияние, который используется для межкадрового предсказания текущего блока в списке кандидатов на слияние (S3703).[0532] The decoder obtains an index indicating a merge candidate, which is used for inter-frame prediction of the current block in the merge candidate list (S3703).

[0533] Декодер формирует сэмплы предсказания текущего блока на основании информации о движении кандидата на слияние, указанной индексом слияния (S3704).[0533] The decoder generates prediction samples of the current block based on the motion information of the merge candidate indicated by the merge index (S3704).

[0534] Декодер обновляет список основанных на истории кандидатов на слияние на основании информации о движении (S3705).[0534] The decoder updates the list of history-based merge candidates based on the motion information (S3705).

[0535] Как описано выше, в качестве варианта осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, если основанный на истории кандидат на слияние имеет информацию о движении, которая не перекрывается с той, что у предварительно определенного кандидата на слияние, среди кандидатов на слияние, включенных в список кандидатов на слияние.[0535] As described above, as an embodiment, a history-based merge candidate may be added to the list of merge candidates if the history-based merge candidate has traffic information that does not overlap with that of the predetermined candidate for merger, among the merger candidates included in the list of merger candidates.

[0536] Как описано выше, в качестве варианта осуществления, список основанных на истории кандидатов на слияние может быть определен, чтобы иметь размер, который определяется на основании максимального количества кандидатов на слияние списка кандидатов на слияние.[0536] As described above, as an embodiment, the history-based merge candidate list may be determined to have a size that is determined based on the maximum number of merge candidates of the merge candidate list.

[0537] Как описано выше, в качестве варианта осуществления, список основанных на истории кандидатов на слияние может быть определен, чтобы иметь размер в виде значения, полученного путем вычитания 1 из максимального количества кандидатов на слияние списка кандидатов на слияние.[0537] As described above, as an embodiment, the history-based merge candidate list may be determined to have a size of a value obtained by subtracting 1 from the maximum number of merge candidates of the merge candidate list.

[0538] Как описано выше, в качестве варианта осуществления, размер списка основанных на истории кандидатов на слияние может быть определен как 5.[0538] As described above, as an embodiment, the size of the history-based merge candidate list may be defined as 5.

[0539] Как описано выше, в качестве варианта осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, если основанный на истории кандидат на слияние имеет информацию о движении, которая не перекрывается с той, что у предварительно определенного конкретного количества кандидатов на слияние, среди кандидатов на слияние, включенных в список кандидатов на слияние.[0539] As described above, as an embodiment, a history-based merge candidate may be added to the list of merge candidates if the history-based merge candidate has traffic information that does not overlap with that of a predetermined specific the number of merger candidates among the merger candidates included in the list of merger candidates.

[0540] Как описано выше, в качестве варианта осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, если основанный на истории кандидат на слияние имеет информацию о движении, которая не перекрывается с той, что у конкретного пространственного кандидата на слияние, включенного в список кандидатов на слияние.[0540] As described above, as an embodiment, a history-based fusion candidate may be added to the list of fusion candidates if the history-based fusion candidate has motion information that does not overlap with that of a particular spatial candidate for a merger included in the list of merger candidates.

[0541] Как описано выше, в качестве варианта осуществления, основанный на истории кандидат на слияние может быть извлечен из предварительно определенного количества кандидатов в списке основанных на истории кандидатов на слияние.[0541] As described above, as an embodiment, a history-based merge candidate may be retrieved from a predetermined number of candidates in a list of history-based merge candidates.

[0542] Как описано выше, в качестве варианта осуществления, декодер может добавлять нулевой вектор движения в список слияния, когда список слияния не удовлетворяет максимальному количеству списка слияния.[0542] As described above, as an embodiment, the decoder may add a null motion vector to the merge list when the merge list does not satisfy the maximum number of the merge list.

[0543] Варианты осуществления, описанные в изобретении, могу быть реализованы и выполнены в процессоре, микропроцессоре, контроллере или чипе. Например, функциональные единицы, проиллюстрированные на чертежах, могут быть реализованы и выполнены в компьютере, процессоре, микропроцессоре, контроллере или чипе.[0543] The embodiments described in the invention may be implemented and implemented in a processor, microprocessor, controller, or chip. For example, the functional units illustrated in the drawings may be implemented and implemented in a computer, processor, microprocessor, controller, or chip.

[0544] Кроме того, декодер и кодер, к которым применяется изобретение, могут быть включены в устройство передачи/приема мультимедийного вещания, терминал мобильной связи, видеоустройство домашнего кинотеатра, видеоустройство цифрового кино, камеру слежения, устройство для видео диалога, устройство связи в режиме реального времени, такое как видеосвязи, мобильное устройство потоковой передачи, запоминающий носитель информации, видеокамеру, устройство предоставления услуги видео по запросу (VoD), видеоустройство технологии «Поверх Сети» (OTT), устройство предоставления услуги потоковой передачи через Интернет, устройство трехмерного (3D) видео, устройство видео телефонии и медицинское видеоустройство, и могут быть использованы, чтобы обрабатывать видеосигналы и сигналы данных. Например, видеоустройство OTT может включать в себя игровую консоль, проигрыватель Blu-ray, ТВ доступа в Интернет, систему домашнего кинотеатра, смартфон, планшетный ПК и Цифровой Видеомагнитофон (DVR).[0544] In addition, the decoder and encoder to which the invention applies may be included in a multimedia broadcast transmission/reception device, a mobile communication terminal, a home theater video device, a digital cinema video device, a security camera, a video dialogue device, a mode communication device real-time device such as video communication, mobile streaming device, storage medium, video camera, video on demand (VoD) device, over-the-top (OTT) video device, Internet streaming service device, three-dimensional (3D) device ) video, video telephony device and medical video device, and can be used to process video and data signals. For example, an OTT video device may include a game console, Blu-ray player, Internet access TV, home theater system, smartphone, tablet PC, and Digital Video Recorder (DVR).

[0545] Кроме того, способ обработки, к которому применяется настоящее изобретение, может быть создан в форме исполняемой компьютером программы и может быть сохранен на машиночитаемом записывающем носителе информации. Мультимедийные данные со структурой данных в соответствии с изобретением также могут быть сохранены на машиночитаемом записывающем носителе информации. Машиночитаемый записывающий носитель информации включают в себя все типы запоминающих устройств, в которых хранятся машиночитаемые данные. Машиночитаемый записывающий носитель информации может включать в себя диск Blu-ray (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных, например. Кроме того, машиночитаемый записывающий носитель информации включает в себя носители информации, реализованные в форме несущих (например, передача через Интернет). Кроме того, битовый поток, сформированный с использованием способа кодирования, может быть сохранен на машиночитаемом записывающем носителе информации или может быть передан через проводные и беспроводные сети связи.[0545] Moreover, the processing method to which the present invention is applied may be created in the form of a computer executable program and may be stored on a computer-readable recording medium. Multimedia data with a data structure in accordance with the invention can also be stored on a machine-readable recording medium. Computer-readable recording media includes all types of storage devices in which computer-readable data is stored. The computer-readable recording medium may include a Blu-ray disc (BD), universal serial bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical storage device, for example. In addition, the computer-readable recording medium includes storage media implemented in the form of carriers (eg, transmission over the Internet). In addition, the bit stream generated using the encoding method may be stored in a computer-readable recording medium or transmitted through wired and wireless communication networks.

[0546] Кроме того, вариант осуществления изобретения может быть реализован как компьютерный программный продукт с использованием программного кода. Программный код может быть выполнен компьютером в соответствии с вариантом осуществления изобретения. Программный код может быть сохранен на носителе, который может быть считан компьютером.[0546] Additionally, an embodiment of the invention may be implemented as a computer program product using program code. The program code may be executed by a computer in accordance with an embodiment of the invention. The program code may be stored on a medium that can be read by a computer.

[0547] Устройство декодирования и устройство кодирования, к которым применяется изобретение, могут быть включены в цифровое устройство. Понятие «цифровое устройство» включает в себя все цифровые устройства, выполненные с возможностью выполнения по меньшей мере одного из передачи, приема, обработки и вывода, например, данных, контента и услуг. Здесь, обработка данных, контента, услуг и т.д. посредством цифрового устройства, включает в себя операцию кодирования и/или декодирования данных, контента, услуги и аналогичного. Цифровое устройство сопрягается или соединяется (далее упоминается как ‘сопряжение’) с другими цифровыми устройствами, внешними серверами и т.д. посредством проводной/беспроводной сети, чтобы передавать и принимать данные, и преобразовывать их при необходимости.[0547] A decoding device and an encoding device to which the invention applies may be included in a digital device. The term "digital device" includes all digital devices configured to perform at least one of transmitting, receiving, processing and outputting, for example, data, content and services. Here, processing of data, content, services, etc. through a digital device, includes the operation of encoding and/or decoding data, content, services and the like. The digital device pairs or connects (hereinafter referred to as 'pairing') with other digital devices, external servers, etc. through a wired/wireless network to send and receive data and convert it as needed.

[0548] Цифровое устройство включает в себя, например, фиксированное устройство (или стационарное устройство), такое как сетевой ТВ, HBBTV (Гибридный Эфирный Широкополосный ТВ), интеллектуальный ТВ, IPTV (телевидение интернет протокола), ПК и т.д. и мобильное устройство (или переносное устройство), такое как PDA (Персональный Цифровой Помощник), смартфон, планшетный ПК, лэптоп. В изобретении, описанном позже, для удобства, Фиг. 39 показывает и описывает цифровой ТВ в качестве варианта осуществления для цифрового устройства, а Фиг. 40 показывает и описывает мобильное устройство в качестве варианта осуществления цифрового устройства.[0548] The digital device includes, for example, a fixed device (or stationary device) such as network TV, HBBTV (Hybrid Broadband TV), smart TV, IPTV (Internet Protocol Television), PC, etc. and a mobile device (or portable device) such as a PDA (Personal Digital Assistant), smartphone, tablet PC, laptop. In the invention described later, for convenience, FIG. 39 shows and describes digital TV as an embodiment for a digital device, and FIG. 40 shows and describes a mobile device as an embodiment of a digital device.

[0549] Между тем, понятие «проводная/беспроводная сеть», описанное в данном документе, относится к сети связи, которая поддерживает различные стандарты связи или протоколы для взаимного соединения и/или передачи и приема данных между цифровыми устройствами или между цифровыми устройствами и внешними серверами. Эти проводные/беспроводные сети могут включать в себя как настоящие, так и будущие поддерживаемые сети связи, и протоколы связи для них, и могут быть сформированы посредством стандарта или протоколов связи для проводного соединения, таких как USB (Универсальная Последовательная Шина), CVBS (Композитный Видеосигнал), Компонентный, S-Video (Аналоговый), DVI (Цифровой Видеоинтерфейс), HDMI (Мультимедийный Интерфейс Высокой Четкости), RGB, D-SUB и аналогичное, и сформированы посредством стандартов связи для беспроводного соединения, таких как Bluetooth, Радиочастотная Идентификация (RFID), Ассоциация по Средствам Передачи Данных в Инфракрасном Диапазоне (IrDA), Сверхширокополосная Связь (UWB), ZigBee, Альянс Цифровых Сетей для Дома (DLNA), Беспроводная LAN (WLAN) (Wi-Fi), Wibro (Беспроводная широкополосная связь), WiMAX (Общемировая Совместимость Широкополосного Беспроводного Доступа), HSDPA (Высокоскоростной Пакетный Доступ Нисходящей Линии Связи), LTE (Долгосрочное Развитие), Wi-Fi Direct (Direct) и т.д.[0549] Meanwhile, the term “wired/wireless network” described herein refers to a communication network that supports various communication standards or protocols for interconnecting and/or transmitting and receiving data between digital devices or between digital devices and external servers. These wired/wireless networks may include both current and future supported communication networks, and communication protocols therefor, and may be formed by wired communication standard or protocols such as USB (Universal Serial Bus), CVBS (Composite Video signal), Component, S-Video (Analog), DVI (Digital Video Interface), HDMI (High Definition Multimedia Interface), RGB, D-SUB and the like, and are formed through communication standards for wireless communication such as Bluetooth, Radio Frequency Identification (RFID). RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, Digital Home Network Alliance (DLNA), Wireless LAN (WLAN) (Wi-Fi), Wibro (Wireless Broadband), WiMAX (Worldwide Broadband Compatibility), HSDPA (High Speed Downlink Packet Access), LTE (Long Term Evolution), Wi-Fi Direct (Direct), etc.

[0550] Далее, в случае просто обращения к цифровому устройству в изобретении, это может означать фиксированное устройство или мобильное устройство, или включать в себя оба типа в зависимости от контекста.[0550] Further, when simply referring to a digital device in the invention, it may mean a fixed device or a mobile device, or include both types depending on the context.

[0551] Между тем, цифровое устройство является, например, интеллектуальным устройством, которое поддерживает функцию приема широковещательной передачи, компьютерную функцию и по меньшей мере один внешний ввод, и может поддерживать работу с электронной почтой, вэб-просмотр, банковские услуги, игру и приложение посредством проводной/беспроводной сети, описанной выше. В дополнение, цифровое устройство может включать в себя интерфейс для поддержки по меньшей мере одного средства ввода или управления (далее упоминается как средство ввода), такого как устройство ввода с ручным управлением, сенсорный экран и пульт дистанционного управления. Цифровое устройство может использовать типовую операционную систему (OS) общего назначения. Например, цифровое устройство может, добавлять, удалять, модифицировать и обновлять различные приложения в ядре OS общего назначения, и может посредством их конфигурировать и обеспечивать более ориентированную на пользователя среду.[0551] Meanwhile, the digital device is, for example, a smart device that supports a broadcast reception function, a computer function and at least one external input, and can support email, web browsing, banking, game and application via the wired/wireless network described above. In addition, the digital device may include an interface for supporting at least one input or control means (hereinafter referred to as an input means), such as a manual input device, a touch screen, and a remote control. The digital device may use a generic general purpose operating system (OS). For example, a digital device can add, remove, modify and update various applications in the general purpose OS kernel, and can configure and provide a more user-centric environment through them.

[0552] Между тем, внешний ввод, описанный в изобретении, включает в себя внешние устройства ввода, т.е. все средства ввода или цифровые устройства, который проводным/беспроводным образом соединяются с описанными выше цифровыми устройствами и передают/принимают связанные данные через него. Здесь, внешний ввод может включать в себя все устройства, такие как мультимедийный интерфейс высокой четкости (HDMI), игровое устройство, такое как Play Station или X-Box, смартфон, планшетный ПК, принтер или интеллектуальный ТВ.[0552] Meanwhile, the external input described in the invention includes external input devices, i.e. all input media or digital devices that are wired/wireless connected to the digital devices described above and transmit/receive associated data through it. Here, the external input may include all devices such as a high-definition multimedia interface (HDMI), a gaming device such as a Play Station or X-Box, a smartphone, a tablet PC, a printer, or a smart TV.

[0553] И понятие «сервер», описанное в изобретении, включает в себя клиента, т.е. все цифровые устройства или системы, который подают данные на цифровые устройства, описанные выше, и называется процессором. Примеры такого сервера включают в себя сервер портала, который предоставляет веб-страницу или веб-контент, сервер рекламы, который предоставляет данные рекламы, сервер контента, который предоставляет контент, и сервер услуги социальных сетей (SNS), сервер услуги или сервер изготовителя, предоставленный изготовителем и т.д.[0553] And the term “server” described in the invention includes a client, i.e. all digital devices or systems that supply data to the digital devices described above are called processor. Examples of such a server include a portal server that provides a web page or web content, an advertising server that provides advertising data, a content server that provides content, and a social networking service (SNS) server, service server, or manufacturer server provided by manufacturer, etc.

[0554] Кроме того, «канал», описанный в данном документе, означает путь, средство и т.д. для передачи и приема данных, и может быть представлен, в качестве примера, широковещательным каналом. Здесь, широковещательный канал выражается в понятиях физического канала, виртуального канала и логического канала в соответствии с активацией цифрового вещания. Широковещательный канал может называться широковещательной сетью. Как описано выше, широковещательный канал относится к каналу для предоставления или осуществления доступа к широковещательному контенту, который предоставляется широковещательной станцией, и широковещательный контент главным образом основан на вещании в режиме реального времени и также называется каналом прямого эфира. Однако, в последнее время, среда для широковещательной передачи стала более разносторонней и также активируется широковещательная передача не в режиме реального времени в дополнение к широковещательной передаче в режиме реального времени. Его также можно понимать, как понятие, обозначающее весь канал. Таким образом, канал прямого эфира можно понимать, как понятие, обозначающее не только широковещательную передачу в режиме реального времени, но также весь широковещательный канал, включающий в себя широковещательную передачу не в режиме реального времени в некоторых случаях.[0554] In addition, a “channel” described herein means a path, means, etc. for transmitting and receiving data, and can be represented, as an example, by a broadcast channel. Here, the broadcast channel is expressed in terms of a physical channel, a virtual channel and a logical channel in accordance with digital broadcast activation. A broadcast channel may be called a broadcast network. As described above, a broadcast channel refers to a channel for providing or accessing broadcast content that is provided by a broadcast station, and the broadcast content is mainly based on real-time broadcasting and is also called a live channel. However, recently, the broadcast environment has become more versatile and non-real-time broadcast is also enabled in addition to real-time broadcast. It can also be understood as a concept that refers to the entire channel. Thus, a live channel can be understood to mean not only a real-time broadcast, but also an entire broadcast channel, including a non-real-time broadcast in some cases.

[0555] В изобретении, «произвольный канал» дополнительно определяется в отношении канала, отличного от описанного выше широковещательного канала. Произвольный канал может предоставлять справочник по услугам, такой как электронное расписание программ (EPG), наряду с широковещательным каналом. Справочник по услугам, GUI (Графический Интерфейс Пользователя) или экран OSD (экран Экранного Меню) могут быть сконфигурированы/предоставлены с помощью только произвольного канала.[0555] In the invention, "random channel" is further defined with respect to a channel other than the broadcast channel described above. The arbitrary channel may provide a service guide, such as an electronic program guide (EPG), along with the broadcast channel. The Service Guide, GUI (Graphical User Interface) or OSD (On Screen Display) screen can be configured/provided using only a custom channel.

[0556] Между тем, в отличие от широковещательного канала с предварительно определенным номером канала между приемопередатчиками, произвольный канал является каналом, который случайным образом распределяется в приемнике, и номер канала, который главным образом не перекрывается с номерами канала для выражения широковещательных каналов, распределяется произвольному каналу. Например, когда настраивается конкретный широковещательный канал, приемник принимает широковещательный сигнал и передает широковещательный контент и его информацию сигнализации посредством настроенного канала. Здесь, приемник анализирует информацию о канале из информации сигнализации и конфигурирует обозреватель каналов, EPG и аналогичное на основании проанализированной информации о канале и предоставляет ее пользователю. Когда пользователь выполняет запрос на смену канала через средство ввода, приемник отвечает соответствующим образом.[0556] Meanwhile, unlike a broadcast channel with a predetermined channel number between transceivers, a random channel is a channel that is randomly allocated at the receiver, and a channel number that mainly does not overlap with the channel numbers for expressing broadcast channels is allocated to a random channel. For example, when a particular broadcast channel is configured, the receiver receives the broadcast signal and transmits the broadcast content and its signaling information via the configured channel. Here, the receiver analyzes the channel information from the signaling information and configures a channel browser, EPG and the like based on the analyzed channel information and provides it to the user. When the user makes a channel change request through the input facility, the receiver responds accordingly.

[0557] Как описано выше, поскольку широковещательный канал заранее оговорен между передающим и принимающим терминалами, то когда произвольный канал распределяется для широковещательного канала с перекрытием, то это может вызывать путаницу у пользователя или путаница может возникнуть, поэтому предпочтительно не распределять дубликаты, как описано выше. Между тем, даже если номер произвольного канала не перекрывается с номером широковещательного канала, как описано выше, то по-прежнему присутствует путаница в процессе просмотра каналов пользователем, и необходимо распределять номер произвольного канала с учетом этого. Это потому, что произвольный канал в соответствии с изобретением может также быть реализован для доступа в ответ на запрос пользователя для переключения канала через средство ввода таким же образом, как обычного широковещательного канала. Соответственно, номер произвольного канала может быть определен и отображен в форме, в которой символы написаны параллельно, как например, произвольный канал-1, произвольный канал-2 и аналогичное, вместо числовой формы аналогичной широковещательному каналу, для удобства доступа пользователя к произвольному каналу и для удобства различения или отличия от номера широковещательного канала. В данном случае, несмотря на то, что отображение номера произвольного канала может быть реализовано в форме, в которой символы написаны как в произвольном канале-1, приемник может распознавать и реализовывать произвольный канал в числовой форме, как номер широковещательного канала внутренним образом. Также номер произвольного канала может быть предоставлен в форме номера, такого как широковещательный канал, и также возможно определение и отображение номеров канала различными путями, которые могут отличаться от широковещательных каналов, как например видеоканал-1, название-1 и видео-1.[0557] As described above, since the broadcast channel is pre-arranged between the transmitting and receiving terminals, when a random channel is allocated for the broadcast channel with overlap, it may cause confusion to the user or confusion may arise, so it is preferable not to allocate duplicates as described above . Meanwhile, even if the random channel number does not overlap with the broadcast channel number as described above, there is still confusion in the user's channel browsing process, and it is necessary to allocate the random channel number taking this into account. This is because a random channel according to the invention can also be implemented to be accessed in response to a user request to switch a channel through an input means in the same manner as a conventional broadcast channel. Accordingly, the arbitrary channel number can be determined and displayed in a form in which characters are written in parallel, such as arbitrary channel-1, arbitrary channel-2 and the like, instead of a numeric form similar to the broadcast channel, for the convenience of user access to the arbitrary channel and for ease of distinction or distinction from the broadcast channel number. Here, although the arbitrary channel number display may be implemented in a form in which the characters are written as in arbitrary channel-1, the receiver may recognize and implement the arbitrary channel in numerical form as a broadcast channel number internally. Also, the arbitrary channel number may be provided in the form of a number, such as a broadcast channel, and it is also possible to determine and display channel numbers in various ways, which may be different from the broadcast channels, such as video channel-1, title-1, and video-1.

[0558] Цифровое устройство исполняет веб-браузер для веб-услуги и предоставляет различные типы веб-страниц пользователю. Здесь, веб-страница включает в себя веб-страницу, включающую в себя видеоконтент, и в изобретении видео обрабатывается отдельно или независимо от веб-страницы. И отделенное видео может быть распределено произвольному каналу, как описано выше, и предоставлено посредством справочника по услугам, или аналогичного, и выведено в соответствии с запросом на переключение канала в процессе просмотра справочника по услугам или широковещательного канала. Кроме того, применительно к услугам, таким как широковещательный контент, игры и приложения, в дополнение к веб-услугам, предварительно определенный контент, изображения, аудио, элементы и т.д. обрабатываются отдельно от самого широковещательного контента, игр и приложений, и номер произвольного канала может быть назначен для их воспроизведения, обработки и аналогичного, и может быть реализован как описано выше.[0558] The digital device executes a web browser for a web service and provides various types of web pages to the user. Here, a web page includes a web page including video content, and in the invention, the video is processed separately or independently from the web page. And the separated video can be allocated to an arbitrary channel as described above, and provided by a service guide or the like, and output in accordance with a channel switching request in the process of viewing the service guide or broadcast channel. Moreover, for services such as broadcast content, games and applications, in addition to web services, predefined content, images, audio, elements, etc. are processed separately from the broadcast content itself, games and applications, and an arbitrary channel number can be assigned for their playback, processing and the like, and can be implemented as described above.

[0559] Фиг. 38 является схемой, схематично показывающей пример системы услуги, включающей в себя цифровое устройство.[0559] FIG. 38 is a diagram schematically showing an example of a service system including a digital device.

[0560] Системы услуги, включающие в себя цифровые устройства, включают в себя поставщика 3810 контента CP, поставщика 3820 услуги SP, оператора 3830 сети NP и конечного пользователя 1840 домашней сети HNED (Потребитель). Здесь, HNED 3840 является, например, клиентом 3800, т.е. цифровым устройством. Поставщик 3810 контента создает и предоставляет различный контент. Как показано на Фиг. 38, в качестве такого поставщика 3810 контента могут быть приведены в качестве примера наземная вещательная компания, кабельный SO (Системный Оператор) или MSO (Несколько SO), спутниковая вещательная компания, различные Интернет вещательные компании, Частные CP и аналогичное. Между тем, поставщик 3810 контента предоставляет различные приложения в дополнение к широковещательному контенту.[0560] Service systems including digital devices include a CP content provider 3810, an SP service provider 3820, an NP network operator 3830, and a home network end user (HNED) 1840. Here, HNED 3840 is, for example, a client 3800, i.e. digital device. Content provider 3810 creates and provides various content. As shown in FIG. 38, such content provider 3810 may be exemplified by a terrestrial broadcaster, a cable SO (System Operator) or MSO (Multiple SO), a satellite broadcaster, various Internet broadcasters, Private CPs and the like. Meanwhile, the content provider 3810 provides various applications in addition to the broadcast content.

[0561] Поставщик 3820 услуг предоставляет контент, предоставленный поставщиком 3810 контента, в качестве пакета услуг HNED 3840, путем упаковки контента. Например, поставщик 3820 услуг на Фиг. 38 упаковывает первую наземную широковещательную передачу, вторую наземную широковещательную передачу, кабельного MSO, спутниковую широковещательную передачу, различные Интернет широковещательные передачи, приложения и т.д. и предоставляет их HNED 3840.[0561] The service provider 3820 provides the content provided by the content provider 3810 as a service package HNED 3840 by packaging the content. For example, service provider 3820 in FIG. 38 packages first terrestrial broadcast, second terrestrial broadcast, cable MSO, satellite broadcast, various Internet broadcasts, applications, etc. and provides them to HNED 3840.

[0562] Поставщик 3820 услуг предоставляет услуги клиенту 3800 одноадресным или многоадресным образом. И поставщик 3820 услуг может передавать данные множеству предварительно зарегистрированных клиентов 3800 одновременно и для этого может быть использован протокол под названием Протокол Администрирования Групп Интернет IGMP.[0562] Service provider 3820 provides services to client 3800 in a unicast or multicast manner. And the service provider 3820 can transmit data to multiple pre-registered clients 3800 at the same time and a protocol called Internet Group Management Protocol (IGMP) can be used to do this.

[0563] Описанный выше поставщик 3810 контента и поставщик 3820 услуг могут быть идентичным или единым объектом. Например, контент, который предоставляется поставщиком 3810 контента, может быть упакован в услугу и предоставлен HNED 3840, так что функции поставщика 3820 услуг выполняются вместе или наоборот.[0563] The content provider 3810 and service provider 3820 described above may be an identical or single entity. For example, content that is provided by content provider 3810 may be packaged into a service and provided by HNED 3840 such that the functions of service provider 3820 are performed together or vice versa.

[0564] Оператор 3830 сети предоставляет сеть для обмена данными между поставщиком 3810 контента и/или поставщиком 3820 услуг и клиентом 3800.[0564] Network operator 3830 provides a network for communication between content provider 3810 and/or service provider 3820 and client 3800.

[0565] Клиент 3800 может создавать домашнюю сеть для передачи и приема данных.[0565] The client 3800 may create a home network for transmitting and receiving data.

[0566] Между тем, поставщик 3810 контента и/или поставщик 3820 услуг в системе услуг может использовать условный доступ или средство защиты контента для защиты переданного контента. В данном случае, клиент 3800 может использовать средство обработки, такое как CableCARD (POD: Точка Развертывания), DCAS (Загружаемый CAS) и т.д. в ответ на ограничение приема или защиту контента.[0566] Meanwhile, the content provider 3810 and/or the service provider 3820 in the service system may use conditional access or content protection to protect the transmitted content. In this case, the client 3800 may use a processing facility such as a CableCARD (POD: Point of Deployment), DCAS (Downloadable CAS), etc. in response to restriction of reception or protection of content.

[0567] В дополнение, клиент 3800 также может использовать двунаправленную услугу через сеть (или сеть связи). В данном случае, клиент 3800 может в некоторой степени выполнять функцию поставщика контента, а существующий поставщик 3820 услуг может принимать его и передавать его обратно другому клиенту.[0567] In addition, client 3800 may also use bidirectional service over a network (or communications network). In this case, the client 3800 may serve to some extent as a content provider, and the existing service provider 3820 may receive it and pass it back to another client.

[0568] Фиг. 39 является структурной схемой, иллюстрирующей цифровое устройство в соответствии с вариантом осуществления. Здесь, Фиг. 39, например, может соответствовать клиенту 3800 на Фиг. 38, и обращаться к цифровому устройству, описанному выше.[0568] FIG. 39 is a block diagram illustrating a digital device according to an embodiment. Here, Fig. 39, for example, may correspond to client 3800 in FIG. 38 and access the digital device described above.

[0569] Цифровое устройство 3900 включает в себя сетевой интерфейс 3901, средство 3902 администрирования TCP/IP, средство 3903 администрирования доставки услуги, декодер 3904 SI, демультиплексор 3905 (demux), декодер 3906 аудио, декодер 3907 видео, модуль 3908 отображения (дисплей A/V и OSD), средство 3909 администрирования управления услугой, средство 3910 администрирования обнаружения услуги, базу 3911 данных SI и метаданных, средство 3912 администрирования метаданных, средство 3913 администрирования услуги, средство 3914 администрирования UI и аналогичное.[0569] The digital device 3900 includes a network interface 3901, a TCP/IP administration engine 3902, a service delivery administration engine 3903, an SI decoder 3904, a demultiplexer 3905 (demux), an audio decoder 3906, a video decoder 3907, a display module 3908 (display A /V and OSD), service control admin 3909, service discovery admin 3910, SI and metadata database 3911, metadata admin 3912, service admin 3913, UI admin 3914, and the like.

[0570] Сетевой интерфейс 3901 принимает или передает IP-пакеты через сеть. Т.е. сетевой интерфейс 3901 принимает услуги, контент и аналогичное от поставщика 3820 услуг через сеть.[0570] Network interface 3901 receives or transmits IP packets over the network. Those. network interface 3901 receives services, content, and the like from service provider 3820 via the network.

[0571] Средство 3902 администрирования TCP/IP участвует в передаче пакетов между источником и получателем IP-пакетов, принятых цифровым устройство 3900, и IP-пакетов, переданных цифровым устройством 3900. И средство 3902 администрирования TCP/IP классифицирует принятые пакеты по соответствию подходящему протоколу и выводит классифицированные пакеты в средство 3905 администрирования доставки услуги, средство 3910 администрирования обнаружения услуги, средство 3909 администрирования управления услугой, средство 3912 администрирования метаданных и т.д. Средство 3903 администрирования доставки услуги отвечает за управление принятыми данными услуги. Например, средство 3903 администрирования доставки услуги может использовать RTP/RTCP при управлении данными потоковой передачи в режиме реального времени. Когда данные потоковой передачи в режиме реального времени передаются с использованием RTP, средство 3903 администрирования доставки услуги анализирует принятый пакет данных в соответствии с RTP и передает его демультиплексору 3905 или сохраняет его в базе 3911 данных SI и метаданных под управлением средства 3913 администрирования услуги. И средство 3903 администрирования доставки услуги использует RTCP для подачи обратно информации о сетевом приеме серверу, который предоставляет услугу. Демультиплексор 3905 демультиплексирует принятые пакеты на аудио, видео и данные системной информации SI, и передает их декодеру 3906/3907 аудио/видео и декодеру 3904 SI, соответственно.[0571] The TCP/IP manager 3902 is involved in packet transmission between the source and destination of IP packets received by the digital device 3900 and IP packets transmitted by the digital device 3900. And the TCP/IP manager 3902 classifies the received packets according to the appropriate protocol. and outputs the classified packets to a service delivery admin 3905, a service discovery admin 3910, a service control admin 3909, a metadata admin 3912, etc. The service delivery manager 3903 is responsible for managing the received service data. For example, the service delivery manager 3903 may use RTP/RTCP when managing real-time streaming data. When real-time streaming data is transmitted using RTP, the service delivery manager 3903 analyzes the received data packet in accordance with RTP and transmits it to the demultiplexer 3905 or stores it in the SI and metadata database 3911 under the control of the service manager 3913. And the service delivery administration means 3903 uses RTCP to feed back network reception information to the server that provides the service. A demultiplexer 3905 demultiplexes the received packets into audio, video, and SI system information data, and transmits them to the audio/video decoder 3906/3907 and the SI decoder 3904, respectively.

[0572] Декодер 3904 SI декодирует системную информацию, такую как особую для программы информацию PSI, протокол информации о программе и системе PSIP и информацию об услуги цифрового видеовещания DVB-SI.[0572] The SI decoder 3904 decodes system information such as program-specific PSI information, program and system information protocol PSIP, and DVB-SI digital video service information.

[0573] И декодер 3904 SI сохраняет декодированную информацию об услуге в базе 3911 данных SI и метаданных, например. Информация об услуге, которая сохранена таким образом, может быть считана и использована соответствующей конфигурацией, например, запросом пользователя.[0573] And the SI decoder 3904 stores the decoded service information in the SI and metadata database 3911, for example. Service information that is stored in this way can be read and used by the corresponding configuration, such as a user request.

[0574] Декодер 3906/3907 аудио/видео декодирует каждые аудиоданные и видеоданные, демультиплексированные демультиплексором 3905. Таким образом декодированные аудиоданные и видеоданные предоставляются пользователю посредством модуля 3908 отображения.[0574] The audio/video decoder 3906/3907 decodes each audio data and video data demultiplexed by the demultiplexer 3905. Thus, the decoded audio data and video data are provided to the user through the display unit 3908.

[0575] Средство администрирования приложения может включать в себя, например, средство 3914 администрирования UI и средство 3913 администрирования услуги. Средство администрирования приложения осуществления администрирование общим состоянием цифрового устройства 3900, предоставляет интерфейс пользователя и осуществляет администрирование другими средствами администрирования.[0575] The application administration tool may include, for example, a UI administration tool 3914 and a service administration tool 3913. The application administration tool administers the overall state of the digital device 3900, provides a user interface, and performs administration of other administration tools.

[0576] Средство 3914 администрирования UI предоставляет графический интерфейс пользователя GUI для пользователя с использованием экранного меню OSD или аналогичного, и принимает ввод клавиши от пользователя для выполнения операции устройства в соответствии с вводом. Например, когда средство 3914 администрирования UI принимает ввод клавиши касательно выбора канала от пользователя, средство 3914 администрирования UI передает сигнал ввода клавиши средству 3913 администрирования услуги.[0576] The UI administration tool 3914 provides a GUI graphical user interface to the user using an OSD menu or the like, and receives key input from the user to perform a device operation according to the input. For example, when the UI administrator 3914 receives a channel selection key input from the user, the UI administrator 3914 transmits the key input signal to the service administrator 3913.

[0577] Средство 3913 администрирования услуги управляет средствами администрирования, ассоциированными с услугой, такими как средство 3903 администрирования доставки услуги, средство 3910 администрирования обнаружения услуги, средство 3909 администрирования управления услугой и средство 3912 администрирования метаданных.[0577] The service administrator 3913 manages the administrators associated with the service, such as the service delivery admin 3903, the service discovery admin 3910, the service control admin 3909, and the metadata admin 3912.

[0578] И средство 3913 администрирования услуги создает карту канала и выбирает канал с использованием карты канала в соответствии с вводом клавиши, принятым от средства 3914 администрирования интерфейса пользователя. И средство 3913 администрирования услуги принимает информацию об услуге канала от декодера 3904 SI и устанавливает идентификатор пакета аудио/видео PID выбранного канала в демультиплексоре 3905. PID, установленный данным образом, используется в процессе демультиплексирования, описанном выше. Вследствие этого, демультиплексор 3905 фильтрует аудиоданные, видеоданные и данные SI с использование PID.[0578] And the service administrator 3913 creates a channel map and selects a channel using the channel map in accordance with the key input received from the user interface administrator 3914. And the service management means 3913 receives the channel service information from the SI decoder 3904 and sets the audio/video packet ID PID of the selected channel in the demultiplexer 3905. The PID set in this manner is used in the demultiplexing process described above. Therefore, the demultiplexer 3905 filters the audio data, video data, and SI data using the PID.

[0579] Средство 3910 обнаружения услуги предоставляет информацию, необходимую для выбора поставщика услуги, предоставляющего услугу. Когда сигнал касательно выбора канала принимается от средства 3913 администрирования услуги, средство 3910 администрирования обнаружения услуги находит услугу с использованием информации.[0579] Service discovery engine 3910 provides information necessary to select a service provider providing the service. When a channel selection signal is received from the service administrating means 3913, the service discovery administrating means 3910 finds the service using the information.

[0580] Средство 3909 администрирования управления услугой отвечает за выбор и управление услугами. Например, средство 3909 администрирования управления услугой использует IGMP или RTSP или аналогичное, когда пользователь выбирает услугу широковещательной передачи в прямом эфире, такую как обычный способ широковещательной передачи, и использует RTSP для выбора и управления услугой, при выборе услуги, такой как VOD (видео по запросу). Протокол RTSP может обеспечивать режим быстрого доступа к объектам мультимедиа применительно к потоковой передаче в режиме реального времени. И средство 3909 администрирования управления услугой может инициализировать и осуществлять администрирование сеансом через шлюз 3950 IMS с использованием мультимедийной подсистемы IP IMS и протокола инициации сеанса SIP. Протокол является одним вариантом осуществления, и другие протоколы могут быть использованы в соответствии с примерами реализации.[0580] The service control manager 3909 is responsible for selecting and managing services. For example, the service control administrating means 3909 uses IGMP or RTSP or the like when the user selects a live broadcast service such as a conventional broadcast method, and uses RTSP to select and control the service when selecting a service such as VOD (Video on Demand). request). The RTSP protocol can provide a fast access mode to media objects for real-time streaming. And the service control administration engine 3909 may initiate and administer the session through the IMS gateway 3950 using the IMS IP multimedia subsystem and the SIP session initiation protocol. The protocol is one embodiment, and other protocols may be used in accordance with the example implementations.

[0581] Средство 3912 администрирования метаданных осуществляет администрирование метаданных, ассоциированных с услугой, и сохраняет метаданные в базе 3911 данных SI и метаданных.[0581] The metadata administration engine 3912 administers the metadata associated with the service and stores the metadata in the SI and metadata database 3911 .

[0582] База 3911 данных SI и метаданных хранит информацию об слуге, декодированную декодером 3904 SI, метаданные, администрирование которых осуществляется средством 3912 администрирования метаданных, и информацию, необходимую для выбора поставщика услуг, которая предоставляется средством 3910 администрирования обнаружения услуги. И база 3911 данных SI и метаданных может хранить данные настройки и аналогичное для системы.[0582] The SI and metadata database 3911 stores the service information decoded by the SI decoder 3904, metadata administered by the metadata administration engine 3912, and information required for service provider selection, which is provided by the service discovery administration engine 3910. And the SI and metadata database 3911 may store configuration data and the like for the system.

[0583] База 3911 данных SI и метаданных может быть реализована с использованием энергонезависимой RAM NVRAM, флэш-памяти или аналогичного.[0583] The SI and metadata database 3911 may be implemented using non-volatile RAM NVRAM, flash memory, or the like.

[0584] Между тем, шлюз 3950 IMS является шлюзом, который собирает функции, необходимые для осуществления доступа к основанной на IMS услуге IPTV.[0584] Meanwhile, the IMS gateway 3950 is a gateway that collects functions necessary to access the IMS-based IPTV service.

[0585] Фиг. 40 является структурной схемой конфигурации, иллюстрирующей другой вариант осуществления цифрового устройства. В частности, Фиг. 40 иллюстрирует структурную схему мобильного устройства в качестве другого варианта осуществления цифрового устройства.[0585] FIG. 40 is a configuration block diagram illustrating another embodiment of a digital device. In particular, FIG. 40 illustrates a block diagram of a mobile device as another embodiment of a digital device.

[0586] Обращаясь к Фиг. 40 мобильное устройство 4000 может включать в себя блок 4010 беспроводной связи, блок 4020 ввода аудио/видео A/V, блок 4030 ввода пользователя, сенсорный блок 4040, блок 4050 вывода, память 4060, блок 4070 интерфейса, блок 4080 управления и блок 4090 подачи питания. Компоненты, показанные на Фиг. 40, не являются неотъемлемыми, так что может быть реализовано мобильное устройство с большим или меньшим числом компонентов.[0586] Referring to FIG. 40, the mobile device 4000 may include a wireless communication unit 4010, an A/V audio/video input unit 4020, a user input unit 4030, a touch unit 4040, an output unit 4050, a memory 4060, an interface unit 4070, a control unit 4080, and a feed unit 4090. nutrition. The components shown in FIG. 40 are not integral, so that a mobile device can be implemented with more or less components.

[0587] Блок 4010 беспроводной связи может включать в себя один или несколько модулей, которые обеспечивают беспроводную связь между мобильным устройством 4000 и системой беспроводной связи или между мобильным устройством и сетью, в которой располагается мобильное устройство. Например, блок 4010 беспроводной связи может включать в себя модуль 4011 приема широковещательной передачи, модуль 4012 мобильной связи, модуль 4013 беспроводной сети Интернет, модуль 4014 связи малого радиуса действия и модуль 4015 информации о местоположении.[0587] The wireless communication unit 4010 may include one or more modules that provide wireless communication between the mobile device 4000 and the wireless communication system or between the mobile device and the network on which the mobile device resides. For example, the wireless communication unit 4010 may include a broadcast receiving module 4011, a mobile communication module 4012, a wireless Internet network module 4013, a short range communication module 4014, and a location information module 4015.

[0588] Модуль 4011 приема широковещательной передачи принимает широковещательный сигнал и/или связанную с широковещательной передачей информацию от внешнего сервера администрирования широковещательной передачи через широковещательный канал. Здесь, широковещательный канал может включать в себя спутниковый канал и наземный канал. Сервер администрирования широковещательной передачи может означать сервер, который формирует и передает широковещательные сигналы и/или связанную с широковещательной передачей информацию, или сервер, который принимает ранее сформированные широковещательные сигналы и/или связанную с широковещательной передачей информацию и передает их терминалу. Широковещательный сигнал может включать в себя сигнал ТВ вещания, сигнал радиовещания и широковещательный сигнал данных и также может включать в себя объединенный сигнал, в котором широковещательный сигнал данных объединяется с сигналом вещания ТВ или сигналом радиовещания.[0588] The broadcast receiving module 4011 receives a broadcast signal and/or broadcast-related information from an external broadcast management server via a broadcast channel. Here, the broadcast channel may include a satellite channel and a terrestrial channel. The broadcast administration server may mean a server that generates and transmits broadcast signals and/or broadcast-related information, or a server that receives previously generated broadcast signals and/or broadcast-related information and transmits them to the terminal. The broadcast signal may include a TV broadcast signal, a radio broadcast signal, and a broadcast data signal, and may also include a combined signal in which the broadcast data signal is combined with a TV broadcast signal or a radio broadcast signal.

[0589] Связанная с широковещательной передачей информация может означать информацию, связанную с широковещательным каналом, широковещательной программой или поставщиком услуг широковещательной передачи. Связанная с широковещательной передачей информация может также быть предоставлена посредством сети мобильной связи. В данном случае, она может быть принята модулем 4012 мобильной связи.[0589] Broadcast-related information may refer to information associated with a broadcast channel, a broadcast program, or a broadcast service provider. Broadcast-related information may also be provided via a mobile communication network. In this case, it may be received by the mobile communication module 4012.

[0590] Связанная с широковещательной передачей информация может присутствовать в различных формах, например, электронного расписания программ или электронного справочника по услугам ESG.[0590] Broadcast-related information may be present in various forms, such as an electronic program schedule or an electronic directory of ESG services.

[0591] Модуль 4011 приема широковещательной передачи может принимать цифровой широковещательный сигнал с использованием цифровой широковещательной системы, такой как, например, ATSC, наземное цифровое видеовещание DVB-T, спутниковое DVB-S, Мультимедийная Только Прямая Линия Связи MediaFLO, портативное DVB-H, наземное широковещание с интегрированными цифровыми услугами ISDB-T и аналогичное. Конечно, модуль 4011 приема широковещательной передачи может быть сконфигурирован, чтобы подходить для других систем широковещательной передачи, как, впрочем, и цифровой системы широковещательной передачи, описанной выше.[0591] The broadcast receiving module 4011 can receive a digital broadcast signal using a digital broadcast system, such as, for example, ATSC, terrestrial DVB-T, satellite DVB-S, MediaFLO Multimedia Direct Line Only, portable DVB-H, terrestrial broadcasting with integrated digital services ISDB-T and similar. Of course, the broadcast receiving module 4011 may be configured to be suitable for other broadcast systems, as well as the digital broadcast system described above.

[0592] Широковещательный сигнал и/или связанная с широковещательной передачей информация, принятая через модуль 4011 приема широковещательной информации, может быть сохранена в памяти 4060.[0592] The broadcast signal and/or broadcast-related information received via the broadcast information receiving module 4011 may be stored in memory 4060.

[0593] Модуль 4012 мобильной связи передает и принимает радиосигнал к и от по меньшей мере одно из базовой станции, внешнего терминала и сервера в сети мобильной связи. Беспроводной сигнал может включать в себя различные типы данных в соответствии с передачей и приемом голосового сигнала, сигнала видео вызова или текстового/мультимедийного сообщения.[0593] Mobile communication module 4012 transmits and receives a radio signal to and from at least one of a base station, an external terminal, and a server in a mobile communication network. The wireless signal may include various types of data in accordance with the transmission and reception of a voice signal, a video call signal, or a text/multimedia message.

[0594] Модуль 4013 беспроводной сети Интернет включает в себя модуль для беспроводного доступа к сети Интернет и может быть встроенным или внешним для мобильного устройства 4000. В качестве технологии беспроводного Интернет могут быть использованы беспроводная LAN (WLAN) (Wi-Fi), беспроводная широкополосная связь Wibro, общемировая совместимость широкополосного беспроводного доступа WiMAX и высокоскоростной пакетный доступ нисходящей линии связи HSDPA.[0594] Wireless Internet module 4013 includes a module for wireless Internet access and may be built-in or external to mobile device 4000. Wireless Internet technology may include wireless LAN (WLAN), wireless broadband Wibro connectivity, worldwide WiMAX broadband wireless access interoperability and HSDPA high-speed packet downlink access.

[0595] Модуль 4014 связи малого радиуса действия относится к модулю для связи малого радиуса действия. Могут быть использованы Bluetooth малого радиуса действия, RFID (радиочастотная Идентификация), инфракрасная связь (IrDA, ассоциация по средствам передачи данных в инфракрасном диапазоне), UWB (сверхширокополосная связь), ZigBee, RS-232, RS-485 и т.д.[0595] Short range communication module 4014 refers to a module for short range communication. Short-range Bluetooth, RFID (Radio Frequency Identification), Infrared Communications (IrDA), UWB (Ultra Wideband), ZigBee, RS-232, RS-485, etc. can be used.

[0596] Модуль 4015 информации о местоположении является модулем для получения информации о местоположении мобильного устройства 4000, и может использовать модуль глобальной системы позиционирования в качестве примера.[0596] The location information module 4015 is a module for obtaining location information of the mobile device 4000, and may use the global positioning system module as an example.

[0597] Блок 4020 ввода A/V служит для ввода аудиосигнала и/или видеосигнала, и может включать в себя камеру 4021, микрофон 4022 и аналогичное. Камера 4021 обрабатывает кадры изображения, такие как неподвижные изображения или движущиеся картинки, полученные посредством датчика изображения в режиме видео вызова или режиме съемки. Обработанный кадр изображения может быть отображен в блоке 4051 отображения.[0597] An A/V input unit 4020 serves to input an audio signal and/or a video signal, and may include a camera 4021, a microphone 4022, and the like. The camera 4021 processes image frames, such as still images or moving pictures, obtained by an image sensor in a video call mode or shooting mode. The processed image frame may be displayed in display unit 4051.

[0598] Кадры изображения, обработанные камерой 4021, могут быть сохранены в памяти 4060 или переданы во вне через блок 4010 беспроводной связи. Две или несколько камер 4021 могут быть предоставлены в зависимости от среды использования.[0598] Image frames processed by camera 4021 may be stored in memory 4060 or transmitted externally via wireless communication unit 4010. Two or more 4021 cameras can be provided depending on the use environment.

[0599] Микрофон 4022 принимает внешний звуковой сигнал посредством микрофона в режиме вызова или режиме записи, режиме распознавания голоса и т.д., и обрабатывает его в качестве электрических голосовых данных. Обработанные голосовые данные могут быть преобразованы и выведены в форме, которая может быть передана базовой станции мобильной связи через модуль 4012 мобильной связи в режиме вызова. Микрофон 4022 может быть реализован с различными алгоритмами подавления шума для удаления шума, который формируется в процессе приема внешнего звукового сигнала.[0599] The microphone 4022 receives an external audio signal through a microphone in a call mode or recording mode, voice recognition mode, etc., and processes it as electrical voice data. The processed voice data may be converted and output in a form that can be transmitted to a mobile communication base station via the mobile communication module 4012 in a call mode. The 4022 microphone can be implemented with various noise reduction algorithms to remove noise that is generated when receiving an external audio signal.

[0600] Блок 4030 ввода пользователя формирует данные ввода для пользователя, чтобы управлять работой терминала. Блок 4030 ввода пользователя может быть выполнен в виде клавишной панели, купольного переключателя, сенсорной панели (на основе давления/емкостного типа), безупорного колеса, безупорного переключателя или аналогичного.[0600] The user input block 4030 generates input data for the user to control the operation of the terminal. The user input unit 4030 may be configured as a keypad, dome switch, touch pad (pressure/capacitive type), jog wheel, jog switch, or the like.

[0601] Сенсорный блок 4040 отображает текущее состояние мобильного устройства 4000, такое как открытое/закрытое состояние мобильного устройства 4000, местоположение мобильного устройства 4000, наличие или отсутствие контакта с пользователем, ориентацию мобильного устройства и ускорение/замедление мобильного устройства. Он регистрирует и формирует сенсорный сигнал для управления работой мобильного устройства 4000. Например, когда мобильное устройство 4000 перемещается или наклоняется, то может быть зарегистрировано положение или наклон мобильного устройства. И может быть зарегистрировано, подается ли питание к блоку 4090 подачи питания или соединены ли внешние устройства с блоком 4070 интерфейса. Между тем, сенсорный блок 4040 может включать в себя датчик 4041 приближения, включающий в себя связь ближнего поля NFC.[0601] The touch unit 4040 displays the current state of the mobile device 4000, such as the open/closed state of the mobile device 4000, the location of the mobile device 4000, presence or absence of user contact, orientation of the mobile device, and acceleration/deceleration of the mobile device. It detects and generates a touch signal to control the operation of the mobile device 4000. For example, when the mobile device 4000 is moved or tilted, the position or tilt of the mobile device may be detected. And whether power is supplied to the power supply unit 4090 or whether external devices are connected to the interface unit 4070 can be recorded. Meanwhile, the sensor unit 4040 may include a proximity sensor 4041 including NFC near-field communication.

[0602] Блок 4050 вывода служит для формирования вывода, связанного со зрением, слухом или тактильным ощущением, и может включать в себя блок 4051 отображения, модуль 4052 вывода аудио, блок 4053 оповещения и тактильный модуль 4054.[0602] An output unit 4050 serves to generate output related to vision, hearing, or haptics, and may include a display unit 4051, an audio output unit 4052, an alert unit 4053, and a haptic unit 4054.

[0603] Блок 4051 отображения отображает или выводит информацию, обработанную мобильным устройством 4000. Например, когда мобильное устройство находится в режиме вызова, отображается интерфейс пользователя UI или графический интерфейс пользователя GUI, связанный с вызовом. Когда мобильное устройство 4000 находится в режиме видео вызова или режиме съемки, отображается снятое и/или принятое видео, UI или GUI.[0603] The display unit 4051 displays or outputs information processed by the mobile device 4000. For example, when the mobile device is in a call mode, a UI or graphical user interface GUI associated with the call is displayed. When the mobile device 4000 is in video call mode or shooting mode, the captured and/or received video, UI or GUI is displayed.

[0604] Блок 4051 отображения может включать в себя жидкокристаллический дисплей LCD, жидкокристаллический дисплей на тонкопленочных транзисторах TFT LCD, органический светоизлучающий диод OLED и гибкий дисплей, и 3D дисплей.[0604] The display unit 4051 may include an LCD liquid crystal display, a TFT LCD liquid crystal display, an OLED organic light emitting diode and flexible display, and a 3D display.

[0605] Некоторые из этих дисплеев могут быть прозрачного типа или пропускающего свет типа, так что через них может быть видно то, что снаружи. Это может называться прозрачным дисплеем и типичным примером прозрачного дисплея является прозрачный OLED TOLED. Задняя структура блока 4051 отображения также может быть выполнена в качестве пропускающей свет структуры. С помощью данной структуры пользователь может видеть объекты, расположенные позади корпуса терминала через зону, которую занимает блок 4051 отображения корпуса терминала.[0605] Some of these displays may be of the transparent or light-transmitting type so that the outside can be seen through them. This may be called a transparent display and a typical example of a transparent display is a transparent OLED TOLED. The rear structure of the display unit 4051 can also be configured as a light transmitting structure. With this structure, the user can see objects located behind the terminal body through the area occupied by the terminal body display unit 4051.

[0606] Могут присутствовать два или несколько блоков 4051 отображения в зависимости от формы реализации мобильного устройства 4000. Например, множество блоков отображения могут быть расположены на расстоянии от одной поверхности или расположены как целая часть в мобильном устройстве 4000, или могут быть соответственно расположены на разных поверхностях.[0606] Two or more display units 4051 may be present depending on the form of implementation of the mobile device 4000. For example, multiple display units may be located at a distance from a single surface or located as an integral part in the mobile device 4000, or may be respectively located on different surfaces.

[0607] Когда блок 4051 отображения и датчик, обнаруживающий операцию касания (далее упоминается как ‘датчик касания’), формируют взаимную слоистую структуру (далее упоминается как ‘сенсорный экран’), то блок 4051 отображения может быть использован в качестве устройства ввода в дополнение к устройству вывода. Сенсорный экран может иметь форму, например, сенсорной пленки, сенсорного листа или сенсорной панели.[0607] When the display unit 4051 and the sensor detecting a touch operation (hereinafter referred to as a 'touch sensor') form a mutually layered structure (hereinafter referred to as a 'touch screen'), the display unit 4051 can be used as an input device in addition to the output device. The touch screen may take the form of, for example, a touch film, a touch sheet, or a touch pad.

[0608] Датчик касания может быть выполнен с возможностью преобразования изменения давления, которое применяется к конкретному участку блока 4051 отображения, или емкости, которая формируется в конкретном участке блока 4051 отображения, в электрический входной сигнал. Датчик касания может быть выполнен с возможностью обнаружения не только позиции и зоны, в которых осуществляется касание, но также давления в момент касания.[0608] The touch sensor may be configured to convert a change in pressure that is applied to a particular portion of the display unit 4051, or a capacitance that is formed in a particular portion of the display unit 4051, into an electrical input signal. The touch sensor may be configured to detect not only the position and area being touched, but also the pressure at the time of touch.

[0609] Если осуществляется ввод касания через датчик касания, то соответствующие сигналы отправляются контроллеру касания. Контроллер касания обрабатывает сигналы и затем передает соответствующие данные контроллеру 4080. Соответственно, блок 4080 управления может знать, по какой зоне блока 4051 отображения было осуществлено касание и аналогичное.[0609] If touch input is made through the touch sensor, then corresponding signals are sent to the touch controller. The touch controller processes the signals and then transmits corresponding data to the controller 4080. Accordingly, the control unit 4080 can know which area of the display unit 4051 has been touched and the like.

[0610] Датчик 4041 приближения может быть расположен во внутренней зоне мобильного устройства, окруженной сенсорным экраном или рядом с сенсорным экраном. Датчик приближения относится к датчику, который обнаруживает наличие или отсутствие объекта, который приближается к предварительно определенной поверхности обнаружения, или объекта в окрестности, с использованием механической силы или инфракрасного света без механического контакта. Датчики приближения обладают более длительным сроком службы и более высоким коэффициентом использования, чем контактные датчики.[0610] The proximity sensor 4041 may be located in an internal area of the mobile device, surrounded by or adjacent to the touch screen. Proximity sensor refers to a sensor that detects the presence or absence of an object that is approaching a predetermined detection surface, or an object in the vicinity, using mechanical force or infrared light without mechanical contact. Proximity sensors have a longer lifespan and higher utilization than contact sensors.

[0611] Примеры датчика приближения включают в себя фотоэлектрический датчик проходного типа, фотоэлектрический датчик типа направленного отражения, фотоэлектрический датчик типа зеркального отражения, датчик приближения типа высокочастотного колебания, датчик приближения емкостного типа, датчик приближения магнитного типа и инфракрасный датчик приближения. Когда сенсорный экран является емкостным, то он выполнен с возможностью обнаружения приближения указателя из-за изменения электрического поля в соответствии с приближением указателя. В данном случае, сенсорный экран (датчик касания) может быть классифицирован как датчик приближения.[0611] Examples of the proximity sensor include a transmission type photoelectric sensor, a directional reflection type photoelectric sensor, a specular reflection type photoelectric sensor, a high frequency oscillation type proximity sensor, a capacitive type proximity sensor, a magnetic type proximity sensor, and an infrared proximity sensor. When the touch screen is capacitive, it is configured to detect the approach of the pointer due to a change in the electric field in accordance with the approach of the pointer. In this case, the touch screen (touch sensor) can be classified as a proximity sensor.

[0612] Далее, для удобства описания, действие, которое вызывает распознавание позиционирования указателя на сенсорном экране без того, что указатель касается сенсорного экрана, упоминается как «касание посредством приближения», а действие фактического касания указателя сенсорного экрана упоминается как «касание посредством контакта». Местоположение на сенсорном экране, в отношении которого осуществляется касание посредством приближения с помощью указателя, означает местоположение, в котором указатель соответствует вертикально сенсорному экрану, когда указатель близко прикасается.[0612] Further, for convenience of description, the action that causes the positioning of the pointer on the touch screen to be recognized without the pointer touching the touch screen is referred to as “touch by proximity”, and the action of actually touching the pointer of the touch screen is referred to as “touch by contact” . The location on the touch screen that is touched by proximity with the pointer means the location where the pointer corresponds vertically to the touch screen when the pointer is touched closely.

[0613] Датчик приближения обнаруживает касание посредством приближения и сэмпл касания посредством приближения (например, расстояние касания посредством приближения, направление касания посредством приближения, скорость касания посредством приближения, время касания посредством приближения, позицию касания посредством приближения, состояние перемещения касания посредством приближения и т.д.) Информация, соответствующая зарегистрированной операции касания посредством приближения и сэмпл касания посредством приближения может быть выведена на сенсорный экран.[0613] The proximity sensor detects a proximity touch and a proximity touch sample (e.g., a proximity touch distance, a proximity touch direction, a proximity touch speed, a proximity touch time, a proximity touch position, a proximity touch moving state, etc.). e.) Information corresponding to the registered proximity touch operation and the proximity touch sample can be displayed on the touch screen.

[0614] Модуль 4052 вывода аудио может выводить аудиоданные, принятые от блока 4010 беспроводной связи в режиме вызова, приема сигнала вызова или режиме записи, режиме распознавания голоса, режиме приема широковещательной передачи или аналогичном или аудиоданных, которые хранятся в памяти 4060. Модуль 4052 вывода аудио также может выводить аудиосигналы, связанные с функциями (например, звук приема сигнала вызова, звук приема сообщения и т.д.), которые выполняются в мобильном устройстве 4000. Модуль 4052 вывода аудио может включать в себя приемник, громкоговоритель и зуммер.[0614] The audio output module 4052 may output audio data received from the wireless communication unit 4010 in a call mode, call signal reception or recording mode, voice recognition mode, broadcast reception mode or the like, or audio data that is stored in the memory 4060. Output module 4052 audio may also output audio signals associated with functions (eg, ringing sound, message receiving sound, etc.) that are performed in the mobile device 4000. The audio output module 4052 may include a receiver, a speaker, and a buzzer.

[0615] Модуль 4053 оповещения выводит сигнал для уведомления о возникновении события в мобильном устройстве 4000. Примеры событий, которые формируются в мобильном устройстве, включают в себя прием сигнала вызова, прием сообщения, сигнал ввода клавиши и ввода касания. Блок 4053 оповещения может выводить сигнал для уведомления о возникновении события посредством других форм, например, вибрации, в дополнение к видеосигналу или аудиосигналу.[0615] The notification module 4053 outputs a signal to notify about the occurrence of an event in the mobile device 4000. Examples of events that are generated in the mobile device include call signal reception, message reception, key input signal, and touch input signal. The notification unit 4053 may output a signal to notify of the occurrence of an event through other forms, such as vibration, in addition to a video signal or an audio signal.

[0616] Видеосигнал или аудиосигнал также могут быть выведены через блок 4051 отображения или модуль 4052 вывода аудио, так что блок 4051 отображения и модуль 4052 вывода аудио могут быть классифицированы как часть модуля 4053 оповещения.[0616] The video signal or audio signal may also be output through the display unit 4051 or the audio output unit 4052, so that the display unit 4051 and the audio output unit 4052 may be classified as part of the notification unit 4053.

[0617] Тактильный модуль 4054 формирует различные тактильные эффекты, которые может ощущать пользователь. Вибрация является типичным примером тактильного эффекта, который формируется тактильным модулем 4054. Интенсивность и сэмпл вибрации, которая формируется тактильным модулем 4054, являются управляемыми. Например, разные вибрации могу быть синтезированы и выведены или выведены последовательно.[0617] The haptic module 4054 generates various haptic effects that can be felt by the user. Vibration is a typical example of a haptic effect that is generated by the haptic module 4054. The intensity and sample of the vibration that is generated by the haptic module 4054 is controllable. For example, different vibrations can be synthesized and output or output sequentially.

[0618] В дополнение к вибрации тактильный модуль может формировать различные тактильные эффекты, включая эффекты раздражения, как например компоновка штифтов, которые перемещаются вертикально по отношению к поверхности контакта кожи, силы истечения или силы всасывания воздуха посредством истечения или всасывания, соприкосновения с поверхностью кожи, контакта с электродами, электростатической силы и аналогичного, и эффект воспроизведения ощущения холода или тепла с использованием элемента, выполненного с возможностью поглощения тепла или формирования тепла.[0618] In addition to vibration, the haptic module can generate various tactile effects, including stimulation effects, such as the arrangement of pins that move vertically relative to the skin contact surface, outflow forces or air suction forces through outflow or suction, contact with the skin surface, contact with electrodes, electrostatic force and the like, and the effect of reproducing a feeling of cold or heat using an element configured to absorb heat or generate heat.

[0619] Тактильный модуль 4054 может не только доставлять тактильный эффект посредством непосредственного контакта, но также реализует его так, что пользователь может ощущать тактильный эффект посредством мышечных чувств, как например пальцами или руками. Два или несколько тактильных модулей 4054 могут быть предоставлены в соответствии с аспектом конфигурации мобильного устройства 4000.[0619] The haptic module 4054 can not only deliver the haptic effect through direct contact, but also implements it such that the user can feel the haptic effect through muscle senses, such as fingers or hands. Two or more haptic modules 4054 may be provided in accordance with a configuration aspect of the mobile device 4000.

[0620] Память 4060 может хранить программу для работы блока 4080 управления и может временно хранить входные/выходные данные (например, телефонную книгу, сообщение, неподвижное изображение, видео и т.д.). Память 4060 также может хранить данные, связанные с различными сэмплами вибрации и звука, которые выводятся, когда касание вводится через сенсорный экран.[0620] Memory 4060 may store a program for operating control unit 4080 and may temporarily store input/output data (eg, phone book, message, still image, video, etc.). The 4060's memory can also store data associated with various vibration and sound samples that are output when a touch is entered through the touch screen.

[0621] Память 4060 может включать в себя запоминающий носитель информации по меньшей мере одного из типа флэш-памяти, типа жесткого диска, типа мультимедийной микро-карты, памяти типа карты (например, памяти SD или XD и т.д.), памяти с произвольным доступом RAM, статической памяти с произвольным доступом SRAM, постоянной памяти ROM, электрически стираемой программируемой постоянной памяти EEPROM, программируемой постоянной памяти PROM, магнитной памяти, оптического диска. Мобильное устройство 4000 может работать в соединении с веб-хранилищем, которое выполняет функцию хранения памяти 4060 в Интернет.[0621] The memory 4060 may include a storage medium of at least one of a flash memory type, a hard disk type, a micro-media card type, a card type memory (e.g., SD or XD memory, etc.), memory random access RAM, static random access memory SRAM, read only memory ROM, electrically erasable programmable read only memory EEPROM, programmable read only memory PROM, magnetic memory, optical disk. The mobile device 4000 may operate in connection with a web storage device that performs the function of storing the memory 4060 on the Internet.

[0622] Блок 4070 интерфейса служит в качестве прохода для всех внешних устройств, соединенных с мобильным устройством 4000. Блок 4070 интерфейса принимает данные от внешнего устройства, принимает питание и передает данные каждому компоненту внутри мобильного устройства 4000, или обеспечивает передачу данных, внутри мобильного устройства 4000, внешнему устройству. Например, порт проводных/беспроводных наушников, порт внешнего зарядного устройства, порт проводной/беспроводной передачи данных, порт карты памяти, порт для соединения с устройствами, оборудованными модулем идентификации, порт ввода/вывода аудио, порт I/O видео, порт головного телефона и аналогичное могут быть включены в блок 4070 интерфейса.[0622] The interface block 4070 serves as a gateway for all external devices connected to the mobile device 4000. The interface block 4070 receives data from the external device, receives power, and transmits data to each component within the mobile device 4000, or provides data transmission, within the mobile device 4000, to an external device. For example, wired/wireless headphone port, external charger port, wired/wireless data port, memory card port, port for connecting to devices equipped with an identification module, audio input/output port, video I/O port, headphone port and similar may be included in interface block 4070.

[0623] Модуль идентификации является чипом, который хранит различную информацию для аутентификации прав на использование мобильного устройства 4000, и может включать в себя модуль идентификации пользователя UIM, модуль идентификационных данных абонента SIM, универсальный модуль идентификационных данных абонента USIM и аналогичное. Устройство, оборудованное модулем идентификации (далее упоминается как ‘устройство идентификации’), может быть изготовлено в формате интеллектуальной карты. Вследствие этого, устройство идентификации может быть соединено с терминалом 4000 посредством порта.[0623] The identity module is a chip that stores various information for authenticating rights to use the mobile device 4000, and may include a user identity module UIM, a subscriber identity module SIM, a universal subscriber identity module USIM, and the like. A device equipped with an identification module (hereinafter referred to as an ‘identification device’) can be manufactured in smart card format. Because of this, the identification device can be connected to the terminal 4000 via a port.

[0624] Когда мобильный терминал 4000 соединяется с внешней опорой, блок 4070 интерфейса может становиться проходом, через который питание от опоры подается на мобильный терминал 4000, или проходом, через который различные сигналы команды вводятся от опоры пользователем. Различные сигналы команды или ввод питания от опоры могут обрабатываться в качестве сигнала для распознавания того, что мобильный терминал правильно установлен на опору.[0624] When the mobile terminal 4000 is coupled to an external support, the interface block 4070 may become a passage through which power from the support is supplied to the mobile terminal 4000, or a passage through which various command signals are input from the support by the user. Various command signals or power input from the support may be processed as a signal to recognize that the mobile terminal is correctly installed on the support.

[0625] Блок 4080 управления как правило управляет всей работой мобильного устройства. Например, он осуществляет управление и обработку, связанные с голосовыми вызовами, связью для передачи данных, видео вызовами и аналогичным. Блок 4080 управления может включать в себя мультимедийный модуль 4081 для воспроизведения мультимедиа. Мультимедийный модуль 4081 может быть реализован в блоке 4080 управления или может быть реализован отдельно от блока 4080 управления. Блок 4080 управления, в частности мультимедийный модуль 4081, может включать в себя устройство 100 кодирования и/или устройство 200 декодирования, описанное выше.[0625] The control unit 4080 generally controls all operation of the mobile device. For example, it carries out management and processing related to voice calls, data communications, video calls and the like. The control unit 4080 may include a media module 4081 for playing media. The multimedia module 4081 may be implemented in the control unit 4080 or may be implemented separately from the control unit 4080. The control unit 4080, in particular the multimedia module 4081, may include an encoding device 100 and/or a decoding device 200 described above.

[0626] Блок 4080 управления может выполнять процесс распознавания сэмпла, способный распознавать рукописный ввод или ввод рисования картинки, который выполняется по сенсорному экрану, в качестве символов и изображений, соответственно.[0626] The control unit 4080 may perform a sample recognition process capable of recognizing handwriting input or picture drawing input that is performed on the touch screen as characters and images, respectively.

[0627] Блок 4090 подачи питания принимает внешнее питание и внутренне питание под управлением блока 4080 управления и подает питание, которое требуется для работы каждого компонента.[0627] The power supply unit 4090 receives external power and internal power under the control of the control unit 4080 and supplies the power that is required for the operation of each component.

[0628] Различные варианты осуществления, описанные в данном документе, могут быть реализованы в компьютере или аналогичном машиночитаемом записывающем носителе информации с использованием, например, программного обеспечения, встроенного программного обеспечения или их сочетания.[0628] Various embodiments described herein may be implemented in a computer or similar computer-readable recording medium using, for example, software, firmware, or a combination thereof.

[0629] В соответствии с аппаратной реализацией, варианты осуществления, описанные в данном документе, могут быть реализованы с использованием по меньшей мере одного из проблемно-ориентированных интегральных микросхем ASIC, цифровых сигнальных процессоров DSP, устройств обработки цифрового сигнала DSPD, программируемых логических устройств PLD, программируемых вентильных матриц FPGA, процессоров, контроллеров, микроконтроллеров, микропроцессоров и электрических блоков для выполнения функций. В некоторых случаях, варианты осуществления, описанные в данном документе, могут быть реализованы посредством самого блока 4080 управления.[0629] In accordance with the hardware implementation, the embodiments described herein may be implemented using at least one of ASICs, DSPs, DSPDs, PLDs, programmable logic devices, programmable gate arrays FPGAs, processors, controllers, microcontrollers, microprocessors and electrical units to perform functions. In some cases, the embodiments described herein may be implemented by the control unit 4080 itself.

[0630] В соответствии с программной реализацией, варианты осуществления, такие как процедуры и функции, описанные в данном документе, могут быть реализованы в качестве отдельных модулей программного обеспечения. Каждый из модулей программного обеспечения может выполнять одну или несколько функций и операций, описанных в данном документе. Код программного обеспечения может быть реализован в приложении программного обеспечения, написанном на подходящем языке программирования. Здесь, код программного обеспечения хранится в памяти 4060 и может быть исполнен блоком 4080 управления.[0630] According to software implementation, embodiments such as the procedures and functions described herein may be implemented as separate software modules. Each of the software modules may perform one or more of the functions and operations described in this document. The software code may be implemented in a software application written in a suitable programming language. Here, software code is stored in memory 4060 and can be executed by control unit 4080.

[0631] Фиг. 41 является структурной схемой, иллюстрирующей цифровое устройство в соответствии с другим вариантом осуществления.[0631] FIG. 41 is a block diagram illustrating a digital device according to another embodiment.

[0632] Другой пример цифрового устройства 4100 может включать в себя блок 4105 приема широковещательной передачи, блок 4156 интерфейса внешнего устройства, блок 4140 хранения, блок 4150 интерфейса ввода пользователя, блок 4170 управления, блок 4180 отображения, блок 4185 вывода аудио, блок 4190 подачи питания и блок фотографирования (не показано). Здесь, блок 4105 приема широковещательной передачи может включать в себя по меньшей мере один тюнер 4110, блок 4120 демодуляции и блок 4130 сетевого интерфейса. Однако, в зависимости от случая, блок 4105 приема широковещательной передачи может включать в себя тюнер 4110 и демодулятор 4120, но может не включать в себя блок 4130 сетевого интерфейса, и наоборот. Также, несмотря на то, что не показано, блок 4105 приема широковещательной передачи может быть оборудован мультиплексором, чтобы мультиплексировать сигнал, на который настраивается тюнер 4110 и затем демодулируется блоком 4120 демодуляции, и сигнал, принятый через блок 4130 сетевого интерфейса. Также, несмотря на то, что не показано, блок 4105 приема широковещательной передачи может быть оборудован демультиплексором, чтобы демультиплексировать мультиплексированный сигнал, демодулированный сигнал или сигнал, который прошел через блок 4130 сетевого интерфейса.[0632] Another example of a digital device 4100 may include a broadcast receiving unit 4105, an external device interface unit 4156, a storage unit 4140, a user input interface unit 4150, a control unit 4170, a display unit 4180, an audio output unit 4185, a feed unit 4190 power supply and photographing unit (not shown). Here, the broadcast receiving unit 4105 may include at least one tuner 4110, a demodulation unit 4120, and a network interface unit 4130. However, depending on the case, the broadcast receiving unit 4105 may include a tuner 4110 and a demodulator 4120, but may not include a network interface unit 4130, and vice versa. Also, although not shown, the broadcast receiving unit 4105 may be equipped with a multiplexer to multiplex the signal tuned to by the tuner 4110 and then demodulated by the demodulation unit 4120 and the signal received through the network interface unit 4130. Also, although not shown, the broadcast receiving block 4105 may be equipped with a demultiplexer to demultiplex a multiplexed signal, a demodulated signal, or a signal that has passed through the network interface block 4130.

[0633] Тюнер 4110 принимает RF широковещательный сигнал путем настройки на канал, выбранный пользователем, или все предварительно сохраненные каналы среди радиочастотных RF широковещательных сигналов, принятых посредством антенны. И тюнер 4110 преобразует принятый RF широковещательный сигнал в сигнал промежуточной частоты IF или сигнал основной полосы частот.[0633] The tuner 4110 receives the RF broadcast signal by tuning to a channel selected by the user or all pre-stored channels among the RF broadcast signals received via the antenna. And the tuner 4110 converts the received RF broadcast signal into an intermediate frequency IF signal or a baseband signal.

[0634] Например, если принятый RF широковещательный сигнал является цифровым широковещательным сигналом, то он преобразуется в цифровой IF сигнал DIF, а если он является аналоговым широковещательным сигналом, то он преобразуется в аналоговый видеосигнал или аудиосигнал основной полосы частот CVBS/SIF. Т.е. тюнер 4110 может обрабатывать как цифровые широковещательные сигналы, так и аналоговые широковещательные сигналы. Аналоговый видеосигнал или аудиосигнал основной полосы частоты CVBS/SIF, который выводится из тюнера 4110, может быть непосредственно введен в контроллер 4170.[0634] For example, if the received RF broadcast signal is a digital broadcast signal, then it is converted to a DIF digital IF signal, and if it is an analog broadcast signal, then it is converted to an analog video or CVBS/SIF baseband audio signal. Those. The 4110 tuner can handle both digital broadcast signals and analog broadcast signals. The analog video or baseband CVBS/SIF audio signal that is output from the tuner 4110 can be directly input to the controller 4170.

[0635] Тюнер 4110 может принимать RF широкополосный сигнал одной несущей в соответствии со схемой комитета по усовершенствованным телевизионным системам ATSC или RF широковещательный сигнал с несколькими несущими в соответствии со схемой цифрового видеовещания DVB.[0635] The tuner 4110 may receive a single carrier RF wideband signal in accordance with the ATSC Advanced Television Systems Committee scheme or a multi-carrier RF broadcast signal in accordance with the DVB digital video broadcasting scheme.

[0636] Между тем, тюнер 4110 может последовательно настраиваться на и принимать RF широковещательные сигналы всех широковещательных сигналов, сохраненных посредством функции хранения канала, среди RF широковещательных сигналов, принятых посредством антенны, и преобразовывать их в сигнал промежуточной частоты или сигнал основной полосы частот.[0636] Meanwhile, the tuner 4110 can sequentially tune to and receive the RF broadcast signals of all the broadcast signals stored by the channel storage function among the RF broadcast signals received via the antenna, and convert them into an intermediate frequency signal or a baseband signal.

[0637] Блок 4120 демодуляции принимает и демодулирует цифровой IF сигнал DIF, преобразованный тюнером 4110. Например, когда цифровой IF сигнал, который выводится из тюнера 4110, соответствует системе ATSC, блок 4120 демодуляции выполняет демодуляцию с 8-частично-подавленной боковой полосой 8-VSB, например. Также, блок 4120 демодуляции может выполнять канальное декодирование. С этой целью, блок 4120 демодуляции может включать в себя решетчатый декодер, обратный перемежитель, декодер Рида-Соломона и аналогичное, и выполнять решетчатое декодирование, обратное перемежение и декодирование Рида-Соломона.[0637] The demodulation block 4120 receives and demodulates the digital IF signal DIF converted by the tuner 4110. For example, when the digital IF signal that is output from the tuner 4110 corresponds to the ATSC system, the demodulation block 4120 performs demodulation with 8-part-rejected sideband 8- VSB, for example. Also, demodulation unit 4120 may perform channel decoding. To this end, demodulation unit 4120 may include a trellis decoder, deinterleaver, Reed-Solomon decoder, and the like, and perform trellis decoding, deinterleaving, and Reed-Solomon decoding.

[0638] Например, когда цифровой IF сигнал, который выводится из тюнера 4110, соответствует способу DVB, то блок 4120 демодуляции выполняет демодуляции кодированной модуляции с ортогональным разделением частот COFDMA, например. Кроме того, блок 4120 демодуляции может выполнять канальное декодирование. С этой целью, блок 4120 демодуляции может включать в себя сверточный декодер, обратный перемежитель и декодер Рида-Соломона, и выполнять сверточное декодирование, обратное перемежение и декодирование Рида-Соломона.[0638] For example, when the digital IF signal that is output from the tuner 4110 corresponds to a DVB method, the demodulation unit 4120 performs COFDMA orthogonal frequency division coded modulation demodulations, for example. In addition, demodulation unit 4120 may perform channel decoding. To this end, the demodulation unit 4120 may include a convolutional decoder, a deinterleaver, and a Reed-Solomon decoder, and perform convolutional decoding, deinterleaving, and Reed-Solomon decoding.

[0639] Блок 4120 демодуляции может выводит потоковый сигнал TS после демодуляции и канального декодирования. В данном случае, потоковый сигнал может быть сигналом, в котором мультиплексированы видеосигнал, аудиосигнал и данные. Например, потоковый сигнал может быть транспортным потоком TS MPEG-2, в котором мультиплексированы видеосигнал стандарта MPEG-2, аудиосигнал стандарта Dolby AC-3 и аналогичное. В частности, MPEG-2 TS может включать в себя заголовок из 4 байтов и полезную нагрузку из 184 байтов.[0639] The demodulation unit 4120 may output the TS stream signal after demodulation and channel decoding. Here, the streaming signal may be a signal in which a video signal, an audio signal and data are multiplexed. For example, the streaming signal may be an MPEG-2 TS transport stream in which an MPEG-2 video signal, a Dolby AC-3 audio signal, and the like are multiplexed. Specifically, MPEG-2 TS may include a 4-byte header and a 184-byte payload.

[0640] Между тем, описанный выше блок 4120 демодуляции может быть предоставлен отдельно в соответствии со способом ATSC и способом DVB. Т.е. цифровое устройство может отдельно включать в себя демодулятор ATSC и демодулятор DVB.[0640] Meanwhile, the demodulation unit 4120 described above may be provided separately in accordance with the ATSC method and the DVB method. Those. the digital device may separately include an ATSC demodulator and a DVB demodulator.

[0641] Потоковый сигнал, который выводится из демодулятора 4120, может быть введен в контроллер 4170. Блок 4170 управления может управлять демультиплексированием, обработкой видеосигнала/аудиосигнала и аналогичным, и управлять изображением, которое выводится через блок 4180 отображения, и аудио, которое выводится через блок 4185 вывода аудио.[0641] The streaming signal that is output from the demodulator 4120 may be input to the controller 4170. The control unit 4170 may control demultiplexing, video/audio signal processing, and the like, and control the image that is output through the display unit 4180 and the audio that is output through audio output block 4185.

[0642] Блок 4156 интерфейса внешнего устройства предоставляет среду, в которой различные внешние устройства взаимодействуют с цифровым устройством 4100. С этой целью, блок 4135 интерфейса внешнего устройства может включать в себя блок ввода/вывода A/V (не показано) или блок беспроводной связи (не показано).[0642] The external device interface block 4156 provides an environment in which various external devices interact with the digital device 4100. To this end, the external device interface block 4135 may include an A/V I/O block (not shown) or a wireless communication block. (not shown).

[0643] Блок 4156 интерфейса внешнего устройства может быть соединен проводным/беспроводным образом с внешними устройствами, такими как цифровой универсальный диск (DVD), Blu-ray, игровые устройства, камеры, видеокамеры, компьютеры (лэптопы, планшеты), смартфоны, устройства Bluetooth и облако. Блок 4156 интерфейса внешнего устройства передает видеосигнал, аудиосигнал или сигнал данных (включая изображение), который вводится из вне, посредством соединенного внешнего устройства, контроллеру 4170 цифрового устройства. Блок 4170 управления может управлять обработанным видеосигналом, аудиосигналом или сигналом данных, который должен быть выведен на соединенное внешнее устройство. С этой целью, блок 4156 интерфейса внешнего устройства может дополнительно включать в себя блок ввода/вывода A/V (не показано) или блок беспроводной связи (не показано).[0643] The external device interface unit 4156 can be wired/wirelessly connected to external devices such as digital versatile disc (DVD), Blu-ray, gaming devices, cameras, camcorders, computers (laptops, tablets), smartphones, Bluetooth devices and cloud. The external device interface unit 4156 transmits a video signal, an audio signal, or a data signal (including an image) that is input externally, via a connected external device, to a digital device controller 4170. The control unit 4170 may control a processed video signal, audio signal, or data signal to be output to a connected external device. To this end, the external device interface unit 4156 may further include an A/V input/output unit (not shown) or a wireless communication unit (not shown).

[0644] Блок ввода/вывода A/V может включать в себя разъем USB, разъем композитного видеосигнала CVBS, компонентный разъем, разъем S-видео (аналоговый) и разъем DVI (Цифровой Видеоинтерфейс), разъем HDMI (мультимедийный интерфейс высокой четкости), разъем RGB, разъем D-SUB и аналогичное, чтобы вводить видеосигналы и аудиосигналы внешнего устройства в цифровое устройство 4100.[0644] The A/V input/output unit may include a USB connector, a CVBS composite video connector, a component connector, an S-video (analog) connector and a DVI (Digital Video Interface) connector, an HDMI (High Definition Multimedia Interface) connector, RGB, D-SUB connector and the like to input video and audio signals from an external device into the 4100 digital device.

[0645] Блок беспроводной связи может осуществлять беспроводную связь малого радиуса действия с другими электронными устройствами. Цифровое устройство 4100 может быть соединено в сеть с другими электронными устройствами в соответствии с протоколом связи, например, Bluetooth, радиочастотной идентификации RFID, ассоциации по средствам передачи данных в инфракрасном диапазоне IrDA, сверхширокополосной связи UWB, ZigBee, альянса цифровых сетей для дома DLNA и т.д.[0645] The wireless communication unit can perform short-range wireless communications with other electronic devices. The digital device 4100 can be networked with other electronic devices according to a communication protocol such as Bluetooth, RFID, IrDA, UWB, ZigBee, DLNA, etc. .d.

[0646] И блок 4156 интерфейса внешнего устройства может быть соединен по меньшей мере с одной из различных телевизионных абонентских приставок и различными разъемами, описанными выше, и выполнять операции ввода/вывода с телевизионной абонентской приставкой.[0646] And the external device interface unit 4156 may be coupled to at least one of the various set-top boxes and various connectors described above, and perform I/O operations with the set-top box.

[0647] Между тем, блок 4156 интерфейса внешнего устройства может принимать приложение или список приложений в смежном внешнем устройстве и передавать его блоку 4170 управления или блоку 4140 хранения.[0647] Meanwhile, the external device interface unit 4156 may receive an application or a list of applications in an adjacent external device and transmit it to the control unit 4170 or the storage unit 4140.

[0648] Блок 4130 сетевого интерфейса предоставляет интерфейс для соединения цифрового устройства 4100 с проводной/беспроводной сетью, включая сеть Интернет. Блок 4130 сетевого интерфейса может включать в себя, например, разъем Ethernet или аналогичное для соединения с проводной сетью, и использовать стандарты связи, такие как, например, беспроводная LAN (WLAN) (Wi-Fi), беспроводная широкополосная связь (Wibro), общемировая совместимость широкополосного беспроводного доступа (WiMAX) и высокоскоростной пакетный доступ нисходящей линии связи (HSDPA) для соединения с беспроводной сетью.[0648] Network interface block 4130 provides an interface for connecting digital device 4100 to a wired/wireless network, including the Internet. The network interface unit 4130 may include, for example, an Ethernet connector or the like for connecting to a wired network, and use communication standards such as, for example, wireless LAN (WLAN) (Wi-Fi), wireless broadband (Wibro), worldwide Wireless Broadband (WiMAX) and High Speed Downlink Packet Access (HSDPA) compatibility to connect to a wireless network.

[0649] Блок 4130 сетевого интерфейса может осуществлять передачу или прием данных с другими пользователями или другими цифровыми устройствами через соединенную сеть или другую сеть, связанную с соединенной сетью. В частности, некоторые данные контента, которые хранятся в цифровом устройстве 4100, могут быть переданы другому пользователю, зарегистрированному заранее в цифровом устройстве 4100, или выбранному пользователю или выбранному цифровому устройству среди других цифровых устройств.[0649] The network interface unit 4130 may transmit or receive data with other users or other digital devices through the connected network or another network associated with the connected network. In particular, some content data that is stored in the digital device 4100 may be transferred to another user registered in advance in the digital device 4100, or to a selected user or a selected digital device among other digital devices.

[0650] Между тем, блок 4130 сетевого интерфейса может осуществлять доступ к предварительно определенной веб-странице через соединенную сеть или другую сеть, связанную с соединенной сетью. Т.е. можно соединяться с предварительно определенной веб-страницей через сеть и осуществлять передачу или прием данных с соответствующим сервером. В дополнение, может быть принят контент или данные, предоставленные поставщиком контента или оператором сети. Т.е. можно принимать контент, такой как фильм, реклама, игра, VOD, широковещательный сигнал и связанная информация, которые предоставляются поставщиком контента или оператором сети через сеть. Кроме того, можно принимать информацию обновления и обновлять файлы встроенного программного обеспечения, предоставленные оператором сети. Блок 4130 сетевого интерфейса может также отправлять данные в сеть Интернет или поставщику контента, или оператору сети.[0650] Meanwhile, the network interface unit 4130 may access a predefined web page through the connected network or another network associated with the connected network. Those. you can connect to a predefined web page via the network and transmit or receive data with the corresponding server. In addition, content or data provided by a content provider or network operator may be received. Those. You can receive content such as movie, advertisement, game, VOD, broadcast signal and related information that is provided by the content provider or network operator through the network. You can also receive update information and update firmware files provided by your network operator. The network interface unit 4130 may also send data to the Internet or to a content provider or network operator.

[0651] Также блок 4130 сетевого интерфейса может выбирать и принимать требуемое приложение из приложений, которые открыты для общественности посредством сети.[0651] Also, the network interface unit 4130 can select and receive a desired application from applications that are open to the public via the network.

[0652] Блок 4140 хранения может хранить программу для обработки и управления каждым сигналом в контроллере 4170, или может хранить изображение после обработки сигнала, аудиосигнал или сигнал данных.[0652] The storage unit 4140 may store a program for processing and controlling each signal in the controller 4170, or may store a post-signal image, an audio signal, or a data signal.

[0653] Также блок 4140 хранения может выполнять функцию для временного хранения изображения, аудио или сигнала данных, которые вводятся от блока 4135 интерфейса внешнего устройства или блока 4130 сетевого интерфейса. Блок 4140 хранения может хранить информацию, связанную с предварительно определенным широковещательным каналом посредством функции памяти канала.[0653] Also, the storage unit 4140 may perform a function for temporarily storing an image, audio, or data signal that is input from the external device interface unit 4135 or the network interface unit 4130. The storage unit 4140 may store information associated with a predetermined broadcast channel through a channel memory function.

[0654] Блок 4140 хранения может хранить приложение или список приложений, которые вводятся от блока 4135 интерфейса внешнего устройства или блока 4130 сетевого интерфейса.[0654] A storage unit 4140 may store an application or a list of applications that is input from an external device interface unit 4135 or a network interface unit 4130 .

[0655] Также блок 4140 хранения может хранить различные платформы, которые описываются позже.[0655] Also, the storage unit 4140 can store various platforms, which are described later.

[0656] Блок 4140 хранения может включать в себя по меньшей мере один запоминающий носитель информации среди, например, типа флэш-памяти, типа жесткого диска, типа мультимедийной микро-карты и памяти типа карты (например, памяти SD или XD и т.д.), RAM и ROM (EEPROM и т.д.). Цифровое устройство 4100 может воспроизводить и предоставлять файлы контента (видеофайлы, файлы неподвижного изображения, файлы музыки, файлы документа, файлы приложения и т.д.), которые хранятся в блоке 4140 хранения, пользователю.[0656] The storage unit 4140 may include at least one storage medium among, for example, a flash memory type, a hard disk type, a micro-media card type, and a card type memory (for example, SD or XD memory, etc. .), RAM and ROM (EEPROM, etc.). The digital device 4100 can play back and provide content files (video files, still image files, music files, document files, application files, etc.) that are stored in the storage unit 4140 to the user.

[0657] Фиг. 41 иллюстрирует вариант осуществления, в котором блок 4140 хранения предоставлен отдельно от блока 4170 управления, но объем изобретения этим не ограничен. Т.е. блок 4140 хранения может быть включен в блок 4170 управления.[0657] FIG. 41 illustrates an embodiment in which the storage unit 4140 is provided separately from the control unit 4170, but the scope of the invention is not limited to this. Those. a storage unit 4140 may be included in a control unit 4170.

[0658] Блок 4150 интерфейса ввода пользователя передает сигнал, который вводится пользователем, в блок 4170 управления, или сигнал от блока 4170 управления пользователю.[0658] The user input interface block 4150 transmits a signal that is input by the user to the control block 4170, or a signal from the control block 4170 to the user.

[0659] Например, блок 4150 интерфейса ввода пользователя может принимать сигнал управления, связанный с элементами управления включения/выключения питания, выбором канала и установками экрана от устройства 4200 дистанционного управления в соответствии с различными способами связи, такими как способ RF связи и способ инфракрасной IR связи, и обрабатывать его. Или блок 4150 интерфейса ввода пользователя может обрабатывать сигнал управления от блока 4170 управления, который должен быть передан устройству 4200 дистанционного управления.[0659] For example, the user input interface unit 4150 may receive a control signal associated with power on/off controls, channel selection, and screen settings from the remote control device 4200 in accordance with various communication methods, such as an RF communication method and an infrared IR method. communications, and process it. Or, the user input interface unit 4150 may process a control signal from the control unit 4170 to be transmitted to the remote control device 4200.

[0660] И блок 4150 интерфейса ввода пользователя может передавать сигнал управления, который вводится через локальную клавишу (не показано), такую как клавиша питания, клавиша канала, клавиша громкости и клавиша установки значения, контроллеру 4170.[0660] And the user input interface unit 4150 may transmit a control signal that is input through a local key (not shown), such as a power key, a channel key, a volume key, and a set value key, to the controller 4170.

[0661] Блок 4150 интерфейса ввода пользователя может передавать сигнал управления, который вводится от блока регистрации (не показано), который регистрирует жест пользователя, блоку 4170 управления, или передавать сигнал от блока 4170 управления блоку регистрации (не показано). Здесь, блок регистрации (не показано) может включать в себя датчик касания, голосовой датчик, датчик положения и датчик движения.[0661] The user input interface unit 4150 may transmit a control signal that is input from a registration unit (not shown) that registers the user's gesture to the control unit 4170, or transmit a signal from the control unit 4170 to the registration unit (not shown). Here, the sensing unit (not shown) may include a touch sensor, a voice sensor, a position sensor, and a motion sensor.

[0662] Контроллер 4170 может демультиплексировать поток, который вводится через тюнер 4110, демодулятор 4120 или интерфейс 4156 внешнего устройства или обрабатывать демультиплексированные сигналы, чтобы формировать и выводить сигнал для вывода видео или аудио. Блок 4170 управления может включать в себя описанное выше устройство кодирования и/или устройство декодирования.[0662] The controller 4170 may demultiplex the stream that is input through the tuner 4110, demodulator 4120, or external device interface 4156, or process the demultiplexed signals to generate and output a signal for video or audio output. The control unit 4170 may include an encoding device and/or a decoding device as described above.

[0663] Сигнал изображения, обработанный контроллером 4170, может быть введен в блок 4180 отображения и отображен в качестве изображения, соответствующего сигналу изображения. Также сигнал изображения, обработанный блоком 4170 управления, может быть введен во внешнее устройство вывода через блок 4156 интерфейса внешнего устройства.[0663] The image signal processed by the controller 4170 may be input to the display unit 4180 and displayed as an image corresponding to the image signal. Also, the image signal processed by the control unit 4170 can be input to an external output device through the external device interface unit 4156.

[0664] Аудиосигнал, обработанный блоком 4170 управления, может быть аудио, которое выводится в блок 4185 вывода аудио. Также аудиосигнал, обработанный контроллером 4170, может быть введен во внешнее устройство вывода через блок 4156 интерфейса внешнего устройства.[0664] The audio signal processed by the control unit 4170 may be audio that is output to the audio output unit 4185 . Also, the audio signal processed by the controller 4170 can be input to an external output device through an external device interface block 4156.

[0665] Несмотря на то, что не проиллюстрировано на Фиг. 41, блок 4170 управления может включать в себя демультиплексор, процессор изображения и аналогичное.[0665] Although not illustrated in FIG. 41, the control unit 4170 may include a demultiplexer, an image processor, and the like.

[0666] Блок 4170 управления может управлять всей работой цифрового устройства 4100. Например, блок 4170 управления может управлять тюнером 4110 для осуществления настройки на RF широковещательную передачу, соответствующую каналу, выбранному пользователем, или предварительно сохраненному каналу.[0666] The control unit 4170 may control the entire operation of the digital device 4100. For example, the control unit 4170 may control the tuner 4110 to tune to an RF broadcast corresponding to a user-selected channel or a previously stored channel.

[0667] Блок 4170 управления может управлять цифровым устройством 4100 посредством команды пользователя, которая вводится через блок 4150 интерфейса ввода пользователя или внутреннюю программу. В частности, можно осуществлять доступ к сети и загружать требуемое приложение или список приложений в цифровое устройство 4100.[0667] The control unit 4170 may control the digital device 4100 through a user command that is input through the user input interface unit 4150 or an internal program. Specifically, a network may be accessed and a desired application or list of applications may be downloaded to the digital device 4100.

[0668] Например, блок 4170 управления управляет тюнером 4110 для того чтобы был выведен сигнал канала, выбранного в соответствии с предварительно определенной командой выбора канала, принятой через блок 4150 интерфейса ввода пользователя, и обрабатывает видеосигналы, аудиосигналы или сигналы данных выбранного канала. Блок 4170 управления обеспечивает вывод информации о канале и т.д., выбранной пользователем, через блок 4180 отображения или блок 4185 вывода аудио наряду с обработанным сигналом изображения или аудиосигналом.[0668] For example, the control unit 4170 controls the tuner 4110 to output a signal of a channel selected in accordance with a predetermined channel selection command received through the user input interface unit 4150, and processes video signals, audio signals, or data signals of the selected channel. The control unit 4170 outputs channel information, etc., selected by the user through the display unit 4180 or the audio output unit 4185 along with the processed image signal or audio signal.

[0669] В качестве другого пример, в соответствии с командой воспроизведения изображения внешнего устройства, принятой через блок 4150 интерфейса ввода пользователя, блок 4170 управления может обеспечивать вывод видеосигнала или аудиосигнала, который вводится через блок 4135 интерфейс внешнего устройства от внешнего устройства (например, камеры или видеокамеры), через блок 4180 отображения или блок 4185 вывода аудио.[0669] As another example, in accordance with an external device image playback command received through the user input interface block 4150, the control block 4170 may provide output of a video signal or an audio signal that is input through the external device interface block 4135 from an external device (eg, a camera or video cameras), through a display unit 4180 or an audio output unit 4185.

[0670] Между тем, блок 4170 управления может управлять блоком 4180 отображения для отображения изображения. Например, блок 4170 управления может управлять блоком 4180 отображения для отображения изображения широковещательной передачи, которое вводится через тюнер 4110, внешнего входного изображения, которое вводится через блок 4156 интерфейса внешнего устройства, и изображение, которое вводится через блок сетевого интерфейса, или изображения, которое хранится в блоке 4140 хранения. В это время, изображение, которое отображается в блоке 4180 отображения, может быть неподвижным изображением или видео, и может быть 2D видео или 3D видео.[0670] Meanwhile, the control unit 4170 may control the display unit 4180 to display an image. For example, the control unit 4170 may control the display unit 4180 to display a broadcast image that is input through the tuner 4110, an external input image that is input through the external device interface unit 4156, and an image that is input through the network interface unit or an image that is stored in storage block 4140. At this time, the image that is displayed in the display unit 4180 may be a still image or a video, and may be a 2D video or a 3D video.

[0671] Также блок 4170 управления может управлять воспроизведением контента. В это время контент может быть контентом, который хранится в цифровом устройстве 4100, или принятым широковещательным контентом, или внешним входным контентом, который вводится из вне. Контент может быть по меньшей мере одним из изображения широковещательной передачи, внешним входным изображением, аудиофайлом, неподвижным изображением, соединенным веб-экраном и файлом документа.[0671] Also, the control unit 4170 can control playback of content. At this time, the content may be content that is stored in the digital device 4100, or received broadcast content, or external input content that is input from outside. The content may be at least one of a broadcast image, an external input image, an audio file, a still image, a connected web screen, and a document file.

[0672] При переходе к элементу просмотра приложений блок 4170 управления может управлять отображением списка приложений или приложений, которые располагаются в цифровом устройстве 4100 или которые могут быть загружены из внешней сети.[0672] When navigating to the application view item, the control unit 4170 may control the display of a list of applications or applications that are located on the digital device 4100 or that can be downloaded from an external network.

[0673] Блок 4170 управления может управлять инсталляцией и работой приложения, загруженного из внешней сети, наряду с различными интерфейсами пользователя. И блок 4170 управления может управлять изображением, которое связно с приложением, которое должно быть исполнено, для отображения в блоке 4180 отображения посредством выбора пользователя.[0673] The control unit 4170 may control the installation and operation of an application downloaded from an external network, along with various user interfaces. And the control unit 4170 can control an image that is associated with an application to be executed to be displayed in the display unit 4180 by user selection.

[0674] Несмотря на то, что не показано на чертеже, также возможно дополнительное оборудование блоком обработки просмотра каналов для формирования изображения миниатюры, соответствующего сигналу канала или внешнему входному сигналу.[0674] Although not shown in the drawing, it is also possible to optionally equip a channel browsing processing unit to generate a thumbnail image corresponding to a channel signal or an external input signal.

[0675] Блок обработки просмотра канала может принимать потоковый сигнал TS, который выводится из блока 4120 демодуляции, или потоковый сигнал, который выводится из блока 4156 интерфейса внешнего устройства, извлекать изображение из входного потокового сигнала, и формировать изображение миниатюры.[0675] The channel view processing unit may receive a TS stream signal that is output from a demodulation block 4120 or a stream signal that is output from an external device interface block 4156, extract an image from the input stream signal, and generate a thumbnail image.

[0676] Сформированное изображение миниатюры может быть введено в блок 4170 управления как есть или как кодированное. Также, сформированное изображение миниатюры может быть кодировано в форме потока и введено в блок 4170 управления. Блок 4170 управления может отображать список миниатюр, включающий в себя множество изображений миниатюры, в блоке 4180 отображения с использованием входных изображений миниатюры. Изображения миниатюры в данном списке миниатюр могут быть обновлены последовательно или одновременно. Соответственно, пользователь может легко понимать содержимое множества широковещательных каналов.[0676] The generated thumbnail image may be input to control unit 4170 as is or as encoded. Also, the generated thumbnail image can be encoded in the form of a stream and input into the control unit 4170. The control unit 4170 may display a thumbnail list including a plurality of thumbnail images at the display unit 4180 using the input thumbnail images. The thumbnail images in a given thumbnail list can be updated sequentially or simultaneously. Accordingly, the user can easily understand the content of a plurality of broadcast channels.

[0677] Блок 4180 отображения преобразует сигналы изображения, сигналы данных, сигналы OSD и аналогичное, обработанное контроллером 4170, или сигналы изображения и сигналы данных, принятые от блока 4156 интерфейса внешнего устройства, в сигналы R, G и B, соответственно, и формирует сигнал возбуждения.[0677] The display unit 4180 converts the image signals, data signals, OSD signals and the like processed by the controller 4170, or the image signals and data signals received from the external device interface unit 4156 into R, G and B signals, respectively, and generates a signal excitement.

[0678] Блок 4180 отображения может быть PDP, LCD, OLED, гибким дисплеем, 3D дисплеем или аналогичным.[0678] The display unit 4180 may be a PDP, LCD, OLED, flexible display, 3D display, or the like.

[0679] Блок 4180 отображения может быть выполнен в качестве сенсорного экрана и использован в качестве устройства ввода в дополнение к устройству вывода.[0679] The display unit 4180 may be configured as a touch screen and used as an input device in addition to an output device.

[0680] Блок 4185 вывода аудио принимает сигнал, обработанный контроллером 4170, например, стереосигнал, сигнал 3.1 канала или сигнал 5.1 канала и выводит его в качестве аудио. Блок 4185 вывода аудио может быть реализован в качестве различных типов громкоговорителей.[0680] The audio output unit 4185 receives a signal processed by the controller 4170, such as a stereo signal, a 3.1 channel signal, or a 5.1 channel signal, and outputs it as audio. The audio output block 4185 may be implemented as various types of speakers.

[0681] Между тем, для того чтобы регистрировать жест пользователя, как описано выше, в цифровом устройстве 4100 может быть дополнительно предоставлен блок регистрации (не показано) с по меньшей мере одним из датчика касания, голосового датчика, датчика положения и датчика движения. Сигнал, обнаруженный блоком регистрации (не показано), может быть передан блоку 4170 управления через блок 4150 интерфейса ввода пользователя.[0681] Meanwhile, in order to register a user's gesture as described above, a registration unit (not shown) with at least one of a touch sensor, a voice sensor, a position sensor and a motion sensor may be further provided in the digital device 4100. The signal detected by the recording unit (not shown) may be transmitted to the control unit 4170 via the user input interface unit 4150.

[0682] Дополнительно может быть предусмотрен блок фотографирования (не показано) для фотографирования пользователя. Информация изображения, сфотографированного блоком фотографирования (не показано) может быть введена в блок 4170 управления.[0682] Additionally, a photographing unit (not shown) may be provided for photographing the user. Information of an image photographed by a photographing unit (not shown) may be input to the control unit 4170.

[0683] Блок 4170 управления может обнаруживать жест пользователя отдельно или в сочетании с изображением, захваченным блоком фотографирования (не показано), или сигналом, зарегистрированным блоком регистрации (не показано).[0683] The control unit 4170 may detect the user's gesture alone or in combination with an image captured by a photographing unit (not shown) or a signal registered by a recording unit (not shown).

[0684] Блок 4190 подачи питания подает питание всему цифровому устройству 4100.[0684] The power supply unit 4190 supplies power to the entire digital device 4100.

[0685] В частности, блок 4190 подачи питания может подавать питания блоку 4170 управления, который может быть реализован в форме системы на кристалле SOC, блоку 4180 отображения для отображения изображения и блоку 4185 вывода аудио для вывода аудио.[0685] In particular, the power supply unit 4190 may supply power to a control unit 4170, which may be implemented in the form of an SOC, a display unit 4180 for displaying an image, and an audio output unit 4185 for outputting audio.

[0686] С этой целью блок 4190 подачи питания может включать в себя преобразователь (не показано), который преобразует питание AC в питание DC. Например, когда блок 4180 отображения реализуется в качестве жидкокристаллической панели со множеством ламп подсветки, может быть дополнительно предоставлен ШИМ-инвертор (не показано) для изменения яркости или приведения в действие уменьшения силы света.[0686] To this end, power supply unit 4190 may include a converter (not shown) that converts AC power to DC power. For example, when the display unit 4180 is implemented as a liquid crystal panel with a plurality of backlights, a PWM inverter (not shown) may be further provided for changing brightness or driving dimming.

[0687] Устройство 4200 дистанционного управления передает ввод пользователя в блок 4150 интерфейса ввода пользователя. С этой целью устройство 4200 дистанционного управления может использовать Bluettooth, RF (радиочастотную) связь, инфракрасную IR связь, UWB (Сверхширокополосную связь), способ ZigBee (ZigBee) и т.д.[0687] Remote control device 4200 provides user input to user input interface unit 4150. For this purpose, the remote control device 4200 may use Bluetooth, RF (radio frequency) communication, infrared IR communication, UWB (Ultra Wide Band), ZigBee (ZigBee) method, etc.

[0688] В дополнение, устройство 4200 дистанционного управления может принимать изображение, аудио или сигнал данных, которые выводятся из блока 4150 интерфейса ввода пользователя, отображать их на устройстве 4200 дистанционного управления, или выводить голос или вибрацию.[0688] In addition, the remote control device 4200 may receive an image, audio, or data signal that is output from the user input interface unit 4150, display it on the remote control device 4200, or output voice or vibration.

[0689] Цифровое устройство 4100, описанное выше, может быть цифровым широковещательным приемником, выполненным с возможностью обработки фиксированного или мобильного ATSC типа или DVB типа цифрового широковещательного сигнала.[0689] The digital device 4100 described above may be a digital broadcast receiver configured to process a fixed or mobile ATSC type or DVB type digital broadcast signal.

[0690] Кроме того, цифровое устройство в соответствии с изобретением может опускать некоторые компоненты или дополнительно включать в себя не проиллюстрированные компоненты, при необходимости. Как описано выше, цифровое устройство может не иметь тюнера и демодулятора, и также может принимать и воспроизводить контент через блок сетевого интерфейса или блок интерфейса внешнего устройства.[0690] In addition, the digital device in accordance with the invention may omit certain components or additionally include components not illustrated, if necessary. As described above, the digital device may not have a tuner or demodulator, and may also receive and play content through a network interface unit or external device interface unit.

[0691] Фиг. 42 является структурной схемой, иллюстрирующей подробную конфигурацию блока управления на Фиг. с 39 по 41.[0691] FIG. 42 is a block diagram illustrating a detailed configuration of the control unit in FIG. from 39 to 41.

[0692] Пример блока управления может включать в себя блок 4210 демультиплексирования, блок 4220 обработки изображения, блок 4240 формирования экранного меню OSD, микшер 4250, преобразователь 4255 частоты кадров FRC и средство 4260 форматирования. В дополнение, несмотря на то, что не проиллюстрировано, блок управления может дополнительно включать в себя блок обработки голоса и блок обработки данных.[0692] An example control unit may include a demultiplexer 4210, an image processing unit 4220, an OSD generation unit 4240, a mixer 4250, an FRC frame rate converter 4255, and a formatter 4260. In addition, although not illustrated, the control unit may further include a voice processing unit and a data processing unit.

[0693] Блок 4210 демультиплексирования демультиплексирует входной поток. Например, блок 4210 демультиплексирования может демультиплексировать входной MPEG-2 TS на видеосигнал, аудиосигнал и сигнал данных. Здесь потоковый сигнал, который вводится в блок 4210 демультиплексирования, может быть потоковым сигналом, который выводится из тюнера или демодулятора, или интерфейса внешнего устройства.[0693] A demultiplexer 4210 demultiplexes the input stream. For example, the demultiplexer 4210 may demultiplex the input MPEG-2 TS into a video signal, an audio signal, and a data signal. Here, the streaming signal that is input to the demultiplexer 4210 may be a streaming signal that is output from a tuner or demodulator, or an external device interface.

[0694] Блок 4220 обработки изображения выполняет обработку изображения демультиплексированного сигнала изображения. С этой целью блок 4220 обработки изображения может включать в себя декодер 4225 видео и средство 4235 масштабирования.[0694] The image processing unit 4220 performs image processing of the demultiplexed image signal. To this end, the image processing unit 4220 may include a video decoder 4225 and a scaler 4235.

[0695] Декодер 4225 видео декодирует демультиплексированный видеосигнал, а средство 4235 масштабирования осуществляет масштабирование разрешения декодированного видеосигнала, который должен быть выведен в блок отображения.[0695] Video decoder 4225 decodes the demultiplexed video signal, and scaler 4235 scales the resolution of the decoded video signal to be output to the display unit.

[0696] Декодер 4225 видео может поддерживать различные стандарты. Например, декодер 4225 видео выполняет функцию декодера MPEG-2, когда видеосигнал кодируется в стандарте MPEG-2, и функцию декодера H.264, когда видеосигнал кодируется способом цифрового мультимедиа-вещания DMB или по стандарту H.264.[0696] Video decoder 4225 can support various standards. For example, video decoder 4225 functions as an MPEG-2 decoder when the video signal is encoded in the MPEG-2 standard, and as an H.264 decoder when the video signal is encoded in DMB or H.264.

[0697] Видеосигнал, декодированный блоком 4220 обработки видео, вводится в микшер 4250.[0697] The video signal decoded by video processing unit 4220 is input to mixer 4250.

[0698] Блок 4240 формирования OSD формирует данные OSD в соответствии с вводом пользователя или самостоятельно. Например, блок 4220 формирования OSD формирует данные для отображения различных данных на экране блока 4180 отображения в графической или текстовой форме на основании сигнала управления блока интерфейса ввода пользователя. Сформированные данные OSD включают в себя различные данные, такие как экран интерфейса пользователя цифрового устройства, различные экраны меню, виджеты, пиктограммы и информацию о показателе просмотра.[0698] The OSD generating unit 4240 generates OSD data in accordance with user input or independently. For example, the OSD generating unit 4220 generates data for displaying various data on the screen of the display unit 4180 in graphical or text form based on a control signal of the user input interface unit. The generated OSD data includes various data such as the user interface screen of the digital device, various menu screens, widgets, icons, and view rate information.

[0699] Блок 4240 формирования OSD может формировать данные для отображения субтитров широковещательных изображений или широковещательной информации на основании EPG.[0699] The OSD generating unit 4240 may generate data for displaying subtitles of broadcast images or broadcast information based on the EPG.

[0700] Микшер 4250 смешивает данные OSD, сформированные блоком 4240 формирования OSD, и сигнал изображения, обработанный блоком обработки видео, и предоставляет их средству 4260 форматирования. Поскольку декодированный видеосигнал и данные OSD смешиваются, то OSD отображается наложенным на широковещательное видео или внешнее входное видео.[0700] The mixer 4250 mixes the OSD data generated by the OSD generating unit 4240 and the image signal processed by the video processing unit and provides it to the formatter 4260. Because the decoded video signal and OSD data are mixed, the OSD appears superimposed on the broadcast video or external input video.

[0701] Преобразователь 4255 частоты кадров FRC преобразует частоту кадров выходного видео. Например, преобразователь 4255 частоты кадров может преобразовывать входное 60Гц частоту кадров изображения в частоту кадров, например, в 120Гц или 240Гц в зависимости от выходной частоты блока отображения. Как описано выше, различные способы могут существовать в способе для преобразования частоты кадров. Например, когда преобразователь 4255 частоты кадров преобразует частоту кадров с 60Гц до 120Гц, то тот же самый первый кадр вставляется между первым кадром и вторым кадром, или третий кадр, предсказанный из первого кадра и второго кадра, вставляется между первым кадром и вторым кадром. В качестве другого примера, когда преобразователь 4255 частоты кадров преобразует частоту кадров из 60Гц в 240Гц, то три идентичных кадра или предсказанных кадра могут быть вставлены между существующими кадрами. Если не выполняется отдельное преобразование кадра, то может быть осуществлен обход блока 4255 преобразования частоты кадров.[0701] The FRC frame rate converter 4255 converts the frame rate of the output video. For example, frame rate converter 4255 may convert an input 60Hz image frame rate to a frame rate of, for example, 120Hz or 240Hz depending on the output frequency of the display unit. As described above, various methods may exist in the method for converting the frame rate. For example, when the frame rate converter 4255 converts the frame rate from 60Hz to 120Hz, the same first frame is inserted between the first frame and the second frame, or a third frame predicted from the first frame and the second frame is inserted between the first frame and the second frame. As another example, when the frame rate converter 4255 converts the frame rate from 60Hz to 240Hz, then three identical frames or predicted frames can be inserted between the existing frames. If a separate frame conversion is not performed, the frame rate conversion block 4255 may be bypassed.

[0702] Средство 4260 форматирования меняет выход преобразователя 4255 частоты кадров для согласования выходного формата с блоком отображения. Например, средство 4260 форматирования может выводить сигналы R, G и B данных, и три сигнала R, G и B данных могут быть выведены в качестве низковольтной дифференциальной передачи сигналов LVDS или мини-LVDS. Также, когда выход преобразователя 4255 частоты кадров является 3D видеосигналом, то средство 4260 форматирования может поддерживать 3D услугу через блок отображения путем конфигурирования выхода в качестве 3D формата в соответствии с выходным форматом блока отображения.[0702] Formatter 4260 changes the output of frame rate converter 4255 to match the output format to the display unit. For example, formatter 4260 may output R, G, and B data signals, and the three R, G, and B data signals may be output as LVDS or mini-LVDS. Also, when the output of the frame rate converter 4255 is a 3D video signal, the formatter 4260 can support a 3D service through the display unit by configuring the output as a 3D format in accordance with the output format of the display unit.

[0703] Блок обработки аудио (не показано) в блоке управления может выполнять обработку аудио демультиплексированного аудиосигнала. Блок обработки аудио (не показано) может поддерживать различные аудиоформаты. Например, даже когда аудиосигнал кодируется в форматах, таких как MPEG-2, MPEG-4, AAC, HE-AAC, AC-3, BSAC, блок обработки аудио может быть предусмотрен с декодером, который соответствует форматам.[0703] An audio processing unit (not shown) in the control unit may perform audio processing of the demultiplexed audio signal. The audio processing unit (not shown) can support various audio formats. For example, even when an audio signal is encoded in formats such as MPEG-2, MPEG-4, AAC, HE-AAC, AC-3, BSAC, the audio processing unit may be provided with a decoder that matches the formats.

[0704] Также блок обработки аудио (не показано) в блоке управления может обрабатывать управление базой, управление верхними частотами, управление громкостью и аналогичное.[0704] Also, an audio processing unit (not shown) in the control unit may process base control, treble control, volume control, and the like.

[0705] Блок обработки данных (не показано) в блоке управления может выполнять обработку данных демультиплексированного сигнала данных. Например, блок обработки данных может декодировать демультиплексированный сигнал данных, когда он кодируется. Здесь, кодированный сигнал данных может быть информацией EPG, включающей в себя информацию широковещательной передачи, такую как время начала и время конца широковещательной передачи программы вещания на каждом канале.[0705] A data processing unit (not shown) in the control unit may perform data processing of the demultiplexed data signal. For example, the data processing unit may decode the demultiplexed data signal as it is encoded. Here, the encoded data signal may be EPG information including broadcast information such as a broadcast start time and a broadcast end time of a broadcast program on each channel.

[0706] Между тем, описанное выше цифровое устройство является примером в соответствии с изобретением, и каждый компонент может быть интегрирован, добавлен или опущен в зависимости от технического описания фактического цифрового устройства. Т.е. при необходимости, два или несколько компонентов могут быть объединены в один компонент, или один компонент может быть подразделен на два или несколько компонентов. Также, функция, которая выполняется в каждом блоке, служит для описания варианта осуществления изобретения, и конкретная операция или устройство не ограничивают объем изобретения.[0706] Meanwhile, the digital device described above is an example in accordance with the invention, and each component may be integrated, added or omitted depending on the technical description of the actual digital device. Those. if necessary, two or more components can be combined into one component, or one component can be subdivided into two or more components. Also, the function that is performed in each block serves to describe an embodiment of the invention, and the specific operation or device does not limit the scope of the invention.

[0707] Цифровое устройство может быть устройством обработки сигнала изображения, которое выполняет обработку сигнал изображения, которое хранится в устройстве, или входного изображения. В качестве другого примера устройство обработки сигнала изображения, могут быть дополнительно приведены телевизионная абонентская приставка STB, проигрыватель DVD, проигрыватель Blu-ray, игровое устройство, компьютер и аналогичное, из которых могут быть исключены блок 4180 отображения и блок 4185 вывода аудио, показанные на Фиг. 41.[0707] The digital device may be an image signal processing device that processes an image signal that is stored in the device or an input image. As another example of an image signal processing apparatus, a set-top box STB, a DVD player, a Blu-ray player, a gaming device, a computer and the like may be further cited, from which the display unit 4180 and the audio output unit 4185 shown in FIG. . 41.

[0708] Фиг. 43 является схемой, иллюстрирующей пример, в котором экран цифрового устройства отображает основное изображение и суб-изображение одновременно, в соответствии с вариантом осуществления.[0708] FIG. 43 is a diagram illustrating an example in which a digital device screen displays a main image and a sub-image simultaneously, according to an embodiment.

[0709] Цифровое устройство в соответствии с вариантом осуществления может одновременно отображать основное изображение 4310 и вспомогательное изображение или суб-изображение 4320 на экране 4300. Основное изображение 4310 может упоминаться как первое изображение, а вспомогательное изображение 4320 может упоминаться как второе изображение. Основное изображение 4310 и вспомогательное изображение 4320 могут включать в себя видео, неподвижное изображение, электронное расписание программ EPG, графический интерфейс пользователя GUI, экранное меню OSD и аналогичное и не ограничено ими. Основное изображение 4310 может означать изображение, которое является относительно меньше по размеру, чем экран 4300 электронного устройства, будучи одновременно отображенном на экране 4300 электронного устройства наряду со вспомогательным изображением 4320, и может упоминаться как картинка в картинке PIP. На Фиг. 43 основное изображение 4310 отображается в верхней левой части экрана 4300 цифрового устройства, но местоположение, в котором отображается основное изображение 4310, этим не ограничивается и основное изображение 4310 может быть отображено в любом местоположении в рамках экрана 4300 цифрового устройства.[0709] A digital device in accordance with an embodiment may simultaneously display a main image 4310 and a sub-image or sub-image 4320 on a screen 4300. The main image 4310 may be referred to as a first image, and the sub-image 4320 may be referred to as a second image. The main picture 4310 and sub picture 4320 may include and are not limited to video, still picture, EPG, GUI, OSD and the like. The main image 4310 may mean an image that is relatively smaller in size than the electronic device screen 4300 while being simultaneously displayed on the electronic device screen 4300 along with the sub image 4320, and may be referred to as picture-in-picture PIP. In FIG. 43, the main image 4310 is displayed on the upper left side of the digital device screen 4300, but the location at which the main image 4310 is displayed is not limited to this, and the main image 4310 may be displayed at any location within the digital device screen 4300.

[0710] Основное изображение 4310 и вспомогательное изображение 4320 могут быть связаны друг с другом непосредственно или опосредованно. В качестве примера, основное изображение 4310 может быть потоковым видео, а вспомогательное изображение 4320 может быть GUI, который последовательно отображает миниатюры элементов видео, включающие в себя информацию, подобную потоковому видео. В качестве другого примера, основное изображение 4310 может быть изображением широковещательной передачи, а вспомогательное изображение 4320 может быть EPG. В качестве другого примера, основное изображение 4310 может быть изображением широковещательной передачи, а вспомогательное изображение 4320 может быть GUI. Примеры основного изображения 4310 и вспомогательного изображения этим не ограничиваются.[0710] The main image 4310 and the auxiliary image 4320 may be associated with each other directly or indirectly. As an example, the main image 4310 may be a streaming video, and the sub image 4320 may be a GUI that sequentially displays thumbnails of video elements including information like the streaming video. As another example, the main image 4310 may be a broadcast image and the sub image 4320 may be an EPG. As another example, the main image 4310 may be a broadcast image and the sub image 4320 may be a GUI. Examples of the main image 4310 and the sub image are not limited to this.

[0711] В одном варианте осуществления, основное изображение 4310 является изображением широковещательной передачи, принятым через широковещательный канал, а вспомогательное изображение 4320 может быть информацией, которая связана с изображением широковещательной передачи, принятой через широковещательный канал. Информация, связанная с изображением широковещательной передачи, принятым через широковещательный канал, может включать в себя, например, информацию EPG, включающую в себя интегрированное расписание каналов и подробную информацию о программе вещания, и информацией обзора программы вещания, но этим не ограничивается.[0711] In one embodiment, the main image 4310 is a broadcast image received via the broadcast channel, and the auxiliary image 4320 may be information that is associated with the broadcast image received via the broadcast channel. Information associated with a broadcast image received via a broadcast channel may include, for example, EPG information including an integrated channel schedule and detailed broadcast program information, and broadcast program overview information, but is not limited to it.

[0712] В другом варианте осуществления, основное изображение 4310 является изображением широковещательной передачи, принятым через широковещательный канал, а вспомогательное изображение 4320 может быть изображением, которое сформировано на основании информации, предварительно сохраненной в цифровом устройстве. Изображение, сформированное на основании информации, предварительно сохраненной в цифровом устройстве, может включать в себя, например, базовый интерфейс пользователя UI у EPG, базовую информацию о канале, UI манипулирования разрешением изображения и UI резервирования, когда ложиться спать, и этим не ограничивается.[0712] In another embodiment, the main image 4310 is a broadcast image received via a broadcast channel, and the sub image 4320 may be an image that is generated based on information previously stored in a digital device. The image generated based on information previously stored in the digital device may include, for example, a basic user interface UI of the EPG, basic channel information, an image resolution manipulation UI, and a bedtime reservation UI, and is not limited to this.

[0713] В другом варианте осуществления, основное изображение 4310 является изображением широковещательной передачи, принятым через широковещательный канал, а вспомогательное изображение 4320 может быть информацией, связанной с изображением широковещательной передачи, принятым через сеть. Информация, связанная с изображением широковещательной передачи, принятым через сеть, может быть, например, информацией, полученной через поисковую машину на основании сети. В частности, например, информация, связанная с персонажем, который отображается в настоящий момент на основном изображении 4310, может быть получена через основанную на сети поисковую машину.[0713] In another embodiment, the main image 4310 is a broadcast image received via a broadcast channel, and the sub image 4320 may be information associated with a broadcast image received via a network. Information associated with a broadcast image received via a network may, for example, be information obtained through a network-based search engine. In particular, for example, information related to a character currently displayed on the main image 4310 may be obtained through a web-based search engine.

[0714] Однако, пример этим не ограничивается, и информация, связанная с изображением широковещательной передачи, принятым через сеть, может быть получена путем использования, например, системы искусственного интеллекта AI. В частности, например, оцененное местоположение на карте места, которое в настоящий момент отображается на основном изображении 4310, может быть получено путем использования основанного на сети глубокого обучения, и цифровое устройство может принимать информацию об оцененном местоположении на карте места, которое в настоящий момент отображается на основном изображении 4310, через сеть.[0714] However, the example is not limited to this, and information related to the broadcast image received via the network can be obtained by using, for example, an AI artificial intelligence system. Specifically, for example, the estimated location on a place map that is currently displayed on the main image 4310 may be obtained by using network-based deep learning, and the digital device may receive information about the estimated location on a place map that is currently displayed in the main image 4310, via the network.

[0715] Цифровое устройство в соответствии с вариантом осуществления может принимать по меньшей мере одно из информации изображения основного изображения 4310 и информации изображения вспомогательного изображения 4320 из вне. Информация изображения основного изображения 4310 может включать в себя, например, широковещательный сигнал, принятый через широковещательный канал, информацию исходного кода основного изображения 4310 и информацию IP-пакета (пакета интернет протокола) основного изображения 4310, принятого через сеть, но этим не ограничивается. Подобным образом, информация изображения вспомогательного изображения 4320 включает в себя, например, широковещательный сигнал, принятый через широковещательный канал, информацию исходного кода вспомогательного изображения 4320, информацию IP-пакета вспомогательного изображения 4320, принятого через сеть и т.д., но этим не ограничивается. Цифровое устройство может декодировать и использовать информацию изображения основного изображения 4310, принятую из вне, или информацию изображения вспомогательного изображения 4320. Однако, в некоторых случаях, цифровое устройство может хранить информацию изображения основного изображения 4310 или информацию изображения вспомогательного изображения 4320 внутренним образом.[0715] The digital device according to an embodiment may receive at least one of the main image image information 4310 and the sub image image information 4320 from outside. The image information of the main image 4310 may include, for example, a broadcast signal received via a broadcast channel, source code information of the main image 4310, and IP packet (Internet Protocol Packet) information of the main image 4310 received via a network, but is not limited to it. Similarly, the image information of the sub-picture 4320 includes, for example, a broadcast signal received via a broadcast channel, source code information of the sub-picture 4320, IP packet information of the sub-picture 4320 received via a network, etc., but is not limited to this. . The digital device may decode and use image information of the main image 4310 received externally or image information of the sub-image 4320. However, in some cases, the digital device may store image information of the main image 4310 or image information of the sub-image 4320 internally.

[0716] Цифровое устройство может отображать основное изображение 4310 и вспомогательное изображение 4320 на экране 4300 цифрового устройства на основании информации изображения основного изображения 4310 и информации, связанной со вспомогательным изображением 4320.[0716] The digital device may display a main image 4310 and a sub-image 4320 on a digital device screen 4300 based on image information of the main image 4310 and information associated with the sub-image 4320.

[0717] В одном примере, устройство 200 декодирования цифрового устройства включает в себя устройство декодирования основного изображения и устройство декодирования вспомогательного изображения, и устройство декодирования основного изображения и устройство декодирования вспомогательного изображения могут соответственно декодировать информацию изображения основного изображения 4310 и информацию изображения вспомогательного изображения 4320. Рендерер включает в себя рендерер основного видео (первый рендерер) и рендерер вспомогательного видео (второй рендерер). Рендерер основного изображения может отображать основное изображение 4310 в первой зоне экрана 4300 цифрового устройства на основании информации, декодированной устройством декодирования основного изображения, а рендерер вспомогательного изображения может предписывать отображение вспомогательного изображения 4320 во второй зоне экрана 4300 цифрового устройства на основании информации, декодированной устройством декодирования вспомогательного изображения.[0717] In one example, the digital device decoding apparatus 200 includes a main image decoding apparatus and a sub-image decoding apparatus, and the main image decoding apparatus and the sub-image decoding apparatus may respectively decode the main image image information 4310 and the sub-image image information 4320. The renderer includes a main video renderer (first renderer) and a auxiliary video renderer (second renderer). The main image renderer may cause the main image 4310 to be displayed in a first zone of the digital device screen 4300 based on information decoded by the main image decoding device, and the sub image renderer may cause the sub image 4320 to be displayed in a second zone of the digital device screen 4300 based on information decoded by the sub image decoding device. Images.

[0718] В другом примере, устройство 200 декодирования цифрового устройства может декодировать информацию изображения основного изображения 4310 и информацию изображения вспомогательного изображения. На основании информации, декодированной устройством 200 декодирования, рендерер может обрабатывать основное изображение 4310 и вспомогательное изображение 4320 вместе для одновременного отображения на экране 4300 цифрового устройства.[0718] In another example, the digital device decoding apparatus 200 may decode the image information of the main image 4310 and the image information of the sub-image. Based on the information decoded by the decoding device 200, the renderer can process the main image 4310 and the sub-image 4320 together for simultaneous display on the digital device screen 4300.

[0719] Т.е. в соответствии с данным документом можно предоставить способ для обработки услуги изображения в цифровом устройстве. Способ обработки услуги изображения может содержать этапы, на которых: принимают информацию изображения, декодируют (основное) изображение на основании информации изображения, осуществляют рендеринг или отображение декодированного изображения в первой зоне на дисплее, и осуществляют рендеринг или отображение вспомогательного изображения во второй зоне на дисплее. В данном случае, этап, на котором декодируют первое изображением, может следовать за процедурой декодирования в устройстве 200 декодирования в соответствии с Фиг. 3, описанной выше. Например, как описано выше, этап, на котором декодируют первое изображение, может включать в себя этапы, на которых извлекают сэмплы предсказания для текущего блока на основании межкадрового или внутрикадрового предсказания, извлекают остаточные сэмплы для текущего блока на основании принятой остаточной информации, и формируют восстановленные сэмплы на основании сэмплов предсказания и/или остаточных сэмплов. Дополнительно, этап, на котором декодируют первое изображение, может включать в себя этап, на котором выполняют процедуру внутриконтурной фильтрации над восстановленной картинкой, включающей в себя восстановленные сэмплы.[0719] That is according to this document, a method for processing an image service in a digital device may be provided. The image service processing method may comprise the steps of: receiving image information, decoding a (main) image based on the image information, rendering or displaying the decoded image in a first zone on a display, and rendering or displaying a sub-image in a second zone on a display. Here, the step of decoding the first image may follow a decoding procedure in the decoding apparatus 200 in accordance with FIG. 3 described above. For example, as described above, the step of decoding the first picture may include the steps of extracting prediction samples for the current block based on inter-frame or intra-frame prediction, extracting residual samples for the current block based on the received residual information, and generating reconstructed samples based on prediction samples and/or residual samples. Additionally, decoding the first image may include performing an in-loop filtering procedure on the reconstructed picture including the reconstructed samples.

[0720] Например, вспомогательное изображение может быть электронным расписанием программ, экранным меню OSD или графическим интерфейсом пользователя GUI. Например, информация изображения может быть принята через широковещательную сеть, и информация касательно вспомогательного изображения может быть принята через широковещательную сеть. Например, информация изображения может быть принята через сеть связи, и информация касательно вспомогательного изображения может быть принята через сеть связи. Например, информация изображения может быть принята через широковещательную сеть, а информация касательно вспомогательного изображения может быть принята через сеть связи. Например, информация изображения может быть принята через широковещательную сеть или сеть связи, а информация касательно вспомогательного изображения может быть сохранена на запоминающем носителе информации в цифровом устройстве.[0720] For example, the auxiliary display may be an electronic program schedule, an OSD menu, or a GUI graphical user interface. For example, image information may be received via a broadcast network, and information regarding the sub-image may be received via the broadcast network. For example, image information may be received via a communication network, and information regarding the sub-image may be received via a communication network. For example, image information may be received via a broadcast network, and information regarding the sub-image may be received via a communication network. For example, image information may be received via a broadcast network or a communication network, and information regarding the sub-image may be stored in a storage medium in a digital device.

[0721] В вышеупомянутых вариантах осуществления, элементы и характеристики изобретения были объединены в конкретной форме. Каждый из элементов или характеристик могут быть рассмотрены в качестве необязательного, при условии, что явно не описано иное. Каждый из элементов или характеристик могут быть реализованы в форме, которая не должна быть объединена с другими элементами или характеристиками. Кроме того, некоторые из элементов и/или характеристик могут быть объединены для формирования варианта осуществления изобретения. Последовательность операций, описанных в вариантах осуществления изобретения, может быть изменена. Некоторые из элементов или характеристик варианта осуществления могут быть включены в другой вариант осуществления или могут быть замещены соответствующими элементами или характеристиками другого варианта осуществления. Очевидно, что вариант осуществления может быть создан путем объединения пунктов формулы изобретения, которые не имеют явного отношения цитирования в формуле изобретения и могут быть включены в качестве нового пункта формулы изобретения путем изменений после подачи заявки.[0721] In the above embodiments, the elements and characteristics of the invention have been combined in a specific form. Each of the elements or characteristics may be considered optional unless otherwise expressly stated. Each of the elements or characteristics may be implemented in a form that does not need to be combined with other elements or characteristics. In addition, some of the elements and/or characteristics may be combined to form an embodiment of the invention. The sequence of operations described in the embodiments of the invention may be changed. Some of the elements or features of an embodiment may be included in another embodiment or may be replaced by corresponding elements or features of another embodiment. It is apparent that an embodiment may be created by combining claims that are not explicitly cited in the claims and may be incorporated as a new claim by post-filing amendments.

[0722] Вариант осуществления в соответствии с изобретением может быть реализован различными средствами, например, аппаратным обеспечением, встроенным программным обеспечением, программным обеспечением или их сочетанием. В случае реализации посредством аппаратного обеспечения, вариант осуществления изобретения может быть реализован с использованием одной или нескольких проблемно-ориентированных интегральных микросхем (ASIC), цифровых сигнальных процессоров (DSP), устройств обработки цифрового сигнала (DSPD), программируемых логических устройств (PLD), программируемых вентильных матриц (FPGA), процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.[0722] An embodiment in accordance with the invention may be implemented by various means, such as hardware, firmware, software, or a combination thereof. If implemented in hardware, an embodiment of the invention may be implemented using one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), programmable gate arrays (FPGA), processors, controllers, microcontrollers, microprocessors, etc.

[0723] В случае реализации посредством встроенного программного обеспечения или программного обеспечения, вариант осуществления изобретения может быть реализован в форме модуля, процедуры или функции для выполнения вышеупомянутых функций или операций. Код программного обеспечения может быть сохранен в памяти и приведен в действие процессором. Память может быть расположена внутри или снаружи процессора и может осуществлять обмен данными с процессором посредством разнообразия известных средств.[0723] If implemented through firmware or software, an embodiment of the invention may be implemented in the form of a module, procedure, or function to perform the above functions or operations. The software code may be stored in memory and executed by the processor. The memory may be located internally or externally to the processor and may communicate with the processor through a variety of known means.

[0724] Специалистам в соответствующей области техники очевидно, что изобретение может быть осуществлено в других конкретных формах, не отступая от неотъемлемых характеристик изобретения. Соответственно, подробное описание не следует толковать как ограничивающее, а следует толковать как иллюстративное во всех аспектах. Объем изобретения должен определяться обоснованным анализом приложенной формулы изобретения, и все изменения в рамках эквивалентного диапазона изобретения включаются в объем изобретения.[0724] Those skilled in the art will appreciate that the invention may be embodied in other specific forms without departing from the inherent characteristics of the invention. Accordingly, the detailed description should not be construed as limiting, but rather as illustrative in all respects. The scope of the invention shall be determined by a reasonable analysis of the appended claims, and all modifications within the equivalent scope of the invention shall be included within the scope of the invention.

Промышленная применимостьIndustrial applicability

[0725] Вышеупомянутые предпочтительные варианты осуществления изобретения были раскрыты с целью иллюстрации, и специалисты в соответствующей области техники могут улучшить, изменить, заместить и добавить различные другие варианты осуществления, не отступая от технической сущности и объема изобретения, раскрытого в приложенной формуле изобретения.[0725] The above preferred embodiments of the invention have been disclosed for purposes of illustration, and those skilled in the relevant art may improve, modify, substitute, and add various other embodiments without departing from the technical spirit and scope of the invention as disclosed in the appended claims.

1. Способ обработки видеосигнала на основании основанного на истории предсказания вектора движения, содержащий этапы, на которых:1. A method of processing a video signal based on history-based motion vector prediction, comprising the steps of:

конфигурируют список кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока текущего блока;configuring a merge candidate list based on a spatial neighbor and a temporal neighbor of the current block;

добавляют основанного на истории кандидата на слияние текущего блока в список кандидатов на слияние;adding a history-based merge candidate of the current block to the list of merge candidates;

получают индекс слияния, указывающий кандидата на слияние, который используется для межкадрового предсказания текущего блока, в списке кандидатов на слияние;obtaining a merge index indicating a merge candidate that is used for inter-frame prediction of the current block in the merge candidate list;

формируют сэмпл предсказания текущего блока на основании информации о движении кандидата на слияние, указанного индексом слияния; иgenerating a prediction sample of the current block based on the motion information of the merge candidate indicated by the merge index; And

обновляют список основанных на истории кандидатов на слияние на основании информации о движении,updating the list of history-based merger candidates based on the traffic information,

при этом основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда он обладает информацией о движении, отличной от той, что у предварительно определенного кандидата на слияние из кандидатов на слияние, включенных в список кандидатов на слияние.wherein, the history-based merger candidate is added to the merger candidate list when it has motion information different from that of the predetermined merger candidate from the merger candidates included in the merger candidate list.

2. Способ по п. 1, в котором размер списка основанных на истории кандидатов на слияние определяется на основании максимального количества кандидатов на слияние в списке кандидатов на слияние.2. The method of claim 1, wherein the size of the history-based merge candidate list is determined based on the maximum number of merge candidates in the merge candidate list.

3. Способ по п. 1, в котором размер списка основанных на истории кандидатов на слияние определяется как значение, равное 1, которая вычитается из максимального количества кандидатов на слияние в списке кандидатов на слияние.3. The method of claim 1, wherein the size of the history-based merge candidate list is determined to be a value equal to 1, which is subtracted from the maximum number of merge candidates in the merge candidate list.

4. Способ по п. 1, в котором размер списка основанных на истории кандидатов на слияние определяется как 5.4. The method of claim 1, wherein the size of the list of history-based merger candidates is determined to be 5.

5. Способ по п. 1, в котором основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда основанный на истории кандидат на слияние включает в себя информацию о движении, отличную от информации о движения конкретного количества предварительно определенных кандидатов на слияние среди кандидатов на слияние, включенных в список кандидатов на слияние.5. The method of claim 1, wherein the history-based merger candidate is added to the list of merger candidates when the history-based merger candidate includes movement information other than the movement information of a specific number of predetermined merger candidates among merger candidates included in the list of merger candidates.

6. Способ по п. 1, в котором основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда основанный на истории кандидат на слияние включает в себя информацию о движении, отличную от информации о движении конкретных пространственных кандидатов на слияние, включенных в список кандидатов на слияние.6. The method of claim 1, wherein the history-based merge candidate is added to the list of merge candidates when the history-based merge candidate includes motion information other than the motion information of specific spatial merge candidates included in list of merger candidates.

7. Способ по п. 6, в котором основанный на истории кандидат на слияние извлекается из предварительно определенного количества кандидатов в списке основанных на истории кандидатов на слияние.7. The method of claim 6, wherein the history-based merge candidate is retrieved from a predetermined number of candidates in the list of history-based merge candidates.

8. Устройство обработки видеосигналов на основании межкадрового предсказания, содержащее:8. A video signal processing device based on interframe prediction, comprising:

память, выполненную с возможностью хранения видеосигналов; иa memory configured to store video signals; And

процессор, объединенный с памятью,processor combined with memory,

при этом процессор выполнен с возможностью:wherein the processor is configured to:

конфигурирования списка кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока текущего блока;configuring a merge candidate list based on a spatial neighbor and a temporal neighbor of the current block;

добавления основанного на истории кандидата на слияние текущего блока в список кандидатов на слияние;adding the history-based merge candidate of the current block to the list of merge candidates;

получения индекса слияния, указывающего кандидата на слияние, который используется для межкадрового предсказания текущего блока, в списке кандидатов на слияние;obtaining a merge index indicating a merge candidate that is used for inter-frame prediction of the current block in the merge candidate list;

формирования сэмпла предсказания текущего блока на основании информации о движении кандидата на слияние, указанного индексом слияния; иgenerating a prediction sample of the current block based on information about the movement of the merger candidate indicated by the merger index; And

обновления списка основанных на истории кандидатов на слияние на основании информации о движении,updating the list of history-based merger candidates based on traffic information,

при этом основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда он обладает информацией о движении, отличной от той, что у предварительно определенного кандидата на слияние из кандидатов на слияние, включенных в список кандидатов на слияние.wherein, the history-based merger candidate is added to the merger candidate list when it has motion information different from that of the predetermined merger candidate from the merger candidates included in the merger candidate list.

9. Устройство по п. 8, в котором размер списка основанных на истории кандидатов на слияние определяется на основании максимального количества кандидатов на слияние в списке кандидатов на слияние.9. The apparatus of claim 8, wherein the size of the history-based merge candidate list is determined based on the maximum number of merge candidates in the merge candidate list.

10. Устройство по п. 8, в котором размер списка основанных на истории кандидатов на слияние определяется как значение, равное 1, которая вычитается из максимального количества кандидатов на слияние в списке кандидатов на слияние.10. The apparatus of claim 8, wherein the size of the history-based merge candidate list is determined to be a value equal to 1, which is subtracted from the maximum number of merge candidates in the merge candidate list.

11. Устройство по п. 8, в котором размер списка основанных на истории кандидатов на слияние определяется как 5.11. The apparatus of claim 8, wherein the size of the history-based merge candidate list is determined to be 5.

12. Устройство по п. 8, в котором основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда основанный на истории кандидат на слияние включает в себя информацию о движении, отличную от информации о движения конкретного количества предварительно определенных кандидатов на слияние среди кандидатов на слияние, включенных в список кандидатов на слияние.12. The apparatus of claim 8, wherein the history-based merger candidate is added to the list of merger candidates when the history-based merger candidate includes movement information other than the movement information of a specific number of predetermined merger candidates among merger candidates included in the list of merger candidates.

13. Устройство по п. 8, в котором основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда основанный на истории кандидат на слияние включает в себя информацию о движении, отличную от информации о движении конкретных пространственных кандидатов на слияние, включенных в список кандидатов на слияние.13. The apparatus of claim 8, wherein the history-based merge candidate is added to the list of merge candidates when the history-based merge candidate includes motion information other than the motion information of specific spatial merge candidates included in list of merger candidates.

14. Устройство по п. 13, в котором основанный на истории кандидат на слияние извлекается из предварительно определенного количества кандидатов в списке основанных на истории кандидатов на слияние.14. The apparatus of claim 13, wherein the history-based merge candidate is retrieved from a predetermined number of candidates in the list of history-based merge candidates.

Claims (30)

1. Устройство для декодирования изображений, содержащее память и по меньшей мере один процессор, причем по меньшей мере один процессор выполнен с возможностью:1. A device for decoding images, comprising memory and at least one processor, wherein at least one processor is configured to: конфигурирования списка кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока для текущего блока;configuring a merge candidate list based on a spatial neighbor and a temporal neighbor for the current block; добавления основанного на истории кандидата предсказателя вектора движения (HMVP) текущего блока в список кандидатов на слияние; иadding the history-based motion vector predictor (HMVP) candidate of the current block to the merge candidate list; And формирования сэмпла предсказания текущего блока на основании информации о движении кандидата на слияние, включенного в список кандидатов на слияние,generating a prediction sample of the current block based on information about the movement of a merger candidate included in the list of merger candidates, причем список кандидатов HMVP обновляется на основании информации о движении кандидата на слияние, и wherein the list of HMVP candidates is updated based on information about the movement of the merger candidate, and при этом кандидат HMVP добавляется в список кандидатов на слияние на основании того, что кандидат HMVP имеет информацию о движении, отличную от информации о движении предварительно определенных пространственных кандидатов на слияние, включенных в список кандидатов на слияние, причем предварительно определенные пространственные кандидаты на слияние являются только частью пространственных кандидатов на слияние в списке кандидатов на слияние.wherein the HMVP candidate is added to the merge candidate list based on the fact that the HMVP candidate has motion information different from the motion information of predetermined spatial merge candidates included in the list of merge candidates, wherein the predetermined spatial merge candidates are only part of the spatial merge candidates in the merge candidate list. 2. Устройство по п. 1, в котором максимальный размер списка кандидатов HMVP меньше максимального размера списка кандидатов на слияние.2. The device of claim 1, wherein the maximum size of the HMVP candidate list is less than the maximum size of the merge candidate list. 3. Устройство по п. 2, в котором максимальный размер списка кандидатов HMVP меньше максимального размера списка кандидатов на слияние на 1.3. The device according to claim 2, in which the maximum size of the HMVP candidate list is less than the maximum size of the merge candidate list by 1. 4. Устройство по п. 2, в котором максимальный размер списка кандидатов HMVP определен как 5.4. The device according to claim 2, in which the maximum size of the HMVP candidate list is defined as 5. 5. Устройство по п. 1, в котором количество предварительно определенных пространственных кандидатов на слияние определено как 2.5. The device according to claim 1, wherein the number of predetermined spatial fusion candidates is defined as 2. 6. Устройство по п. 1, в котором предварительно определенные пространственные кандидаты на слияние включают в себя левый соседний пространственный кандидат на слияние и верхний соседний пространственный кандидат на слияние для текущего блока.6. The apparatus of claim 1, wherein the predetermined spatial merge candidates include a left neighbor spatial merge candidate and a top neighbor spatial merge candidate for the current block. 7. Устройство для кодирования изображений, содержащее память и по меньшей мере один процессор, причем по меньшей мере один процессор выполнен с возможностью:7. An image encoding device comprising a memory and at least one processor, wherein the at least one processor is configured to: конфигурирования списка кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока для текущего блока;configuring a merge candidate list based on a spatial neighbor and a temporal neighbor for the current block; добавления основанного на истории кандидата предсказателя вектора движения (HMVP) текущего блока в список кандидатов на слияние; adding the history-based motion vector predictor (HMVP) candidate of the current block to the merge candidate list; формирования сэмпла предсказания текущего блока на основании информации о движении кандидата на слияние, включенного в список кандидатов на слияние; и generating a prediction sample of the current block based on information about the movement of a merger candidate included in the list of merger candidates; And кодирования индекса слияния, указывающего кандидата на слияние, используемого для формирования сэмпла предсказания, иencoding a merge index indicating a merge candidate used to generate a prediction sample, and при этом список кандидатов HMVP обновляется на основании информации о движении кандидата на слияние, иwherein the list of HMVP candidates is updated based on information about the movement of the merger candidate, and при этом кандидат HMVP добавляется в список кандидатов на слияние на основании того, что кандидат HMVP имеет информацию о движении, отличную от информации о движении предварительно определенных пространственных кандидатов на слияние, включенных в список кандидатов на слияние, причем предварительно определенные пространственные кандидаты на слияние являются только частью пространственных кандидатов на слияние в списке кандидатов на слияние.wherein the HMVP candidate is added to the merge candidate list based on the fact that the HMVP candidate has motion information different from the motion information of predetermined spatial merge candidates included in the list of merge candidates, wherein the predetermined spatial merge candidates are only part of the spatial merge candidates in the merge candidate list. 8. Устройство по п. 7, в котором максимальный размер списка кандидатов HMVP меньше максимального размера списка кандидатов на слияние.8. The apparatus of claim 7, wherein the maximum size of the HMVP candidate list is less than the maximum size of the merge candidate list. 9. Устройство по п. 8, в котором максимальный размер списка кандидатов HMVP меньше максимального размера списка кандидатов на слияние на 1.9. The device according to claim 8, wherein the maximum size of the HMVP candidate list is less than the maximum size of the merge candidate list by 1. 10. Устройство по п. 8, в котором максимальный размер списка кандидатов HMVP определен как 5.10. The device according to claim 8, wherein the maximum size of the HMVP candidate list is defined as 5. 11. Устройство по п. 7, в котором количество предварительно определенных пространственных кандидатов на слияние определено как 2.11. The apparatus of claim 7, wherein the number of predetermined spatial fusion candidates is set to 2. 12. Устройство по п. 7, в котором предварительно определенные пространственные кандидаты на слияние включают в себя левый соседний пространственный кандидат на слияние и верхний соседний пространственный кандидат на слияние для текущего блока.12. The apparatus of claim 7, wherein the predetermined spatial merge candidates include a left adjacent spatial merge candidate and an upper adjacent spatial merge candidate for the current block. 13. Способ передачи битового потока, формируемого посредством способа кодирования изображений, причем способ кодирования изображений содержит этапы, на которых:13. A method for transmitting a bit stream generated by an image encoding method, wherein the image encoding method comprises the steps of: конфигурируют список кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока для текущего блока;configuring a merge candidate list based on a spatial neighbor and a temporal neighbor for the current block; добавляют основанного на истории кандидата предсказателя вектора движения (HMVP) текущего блока в список кандидатов на слияние; adding the history-based motion vector predictor (HMVP) candidate of the current block to the merge candidate list; формируют сэмпл предсказания текущего блока на основании информации о движении кандидата на слияние, включенного в список кандидатов на слияние; иgenerating a prediction sample of the current block based on information about the movement of a merger candidate included in the list of merger candidates; And кодируют индекс слияния, указывающий кандидата на слияние, используемого для формирования сэмпла предсказания, в битовый поток,encoding a merge index indicating a merge candidate used to generate a prediction sample into a bit stream, причем список кандидатов HMVP обновляется на основании информации о движении кандидата на слияние, иwherein the list of HMVP candidates is updated based on information about the movement of the merger candidate, and при этом кандидат HMVP добавляется в список кандидатов на слияние на основании того, что кандидат HMVP имеет информацию о движении, отличную от информации о движении предварительно определенных пространственных кандидатов на слияние, включенных в список кандидатов на слияние, причем предварительно определенные пространственные кандидаты на слияние являются только частью пространственных кандидатов на слияние в списке кандидатов на слияние.wherein the HMVP candidate is added to the merge candidate list based on the fact that the HMVP candidate has motion information different from the motion information of predetermined spatial merge candidates included in the list of merge candidates, wherein the predetermined spatial merge candidates are only part of the spatial merge candidates in the merge candidate list.
RU2022114800A 2018-12-12 2019-12-12 Method and device for processing video signal based on history-based motion vector prediction RU2807594C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/778,835 2018-12-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2020132024A Division RU2773431C1 (en) 2018-12-12 2019-12-12 Method and apparatus for processing a video signal based on a history-based prediction of the motion vector

Publications (2)

Publication Number Publication Date
RU2022114800A RU2022114800A (en) 2022-07-06
RU2807594C2 true RU2807594C2 (en) 2023-11-16

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIE ZHAO et al., CE4-related: Simplification to HMVP, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-L0309, 12th Meeting: Macao, 3-12 Oct. 2018. C. HSU et al., Description of SDR Video Coding Technology Proposal by MediaTek, Joint Video Exploration Team of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-J0018, 10th Meeting: San Diego, 10-20 Apr. 2018. WEIWEI XU et al., CE4-related: Constraint of Pruning in History-based Motion Vector Prediction, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-L0448-v2, 12th Meeting: Macao, 3-12 Oct. 2018. XIAOZHONG XU et al., CE4-related: History based spatial-temporal MV prediction, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-L0302-v1, 12th Meeting: Macao, 3-12 Oct. 2018. US 2017332099 A1 - 2017.11.16. RU 2574831 C2 - 2016.02.10. RU 2577779 C2 - 2016.03.20. *

Similar Documents

Publication Publication Date Title
JP7488945B2 (en) Method and apparatus for processing a video signal based on history-based motion vector prediction - Patents.com
KR102443965B1 (en) Method and apparatus for processing video signals based on history-based motion vector prediction
US11910000B2 (en) Method and device for processing video signal on basis of inter prediction
US20220116587A1 (en) Method and device for processing video signal on basis of inter-prediction
US20220078407A1 (en) Method and apparatus for processing video signal on basis of inter prediction
RU2807594C2 (en) Method and device for processing video signal based on history-based motion vector prediction
RU2773431C1 (en) Method and apparatus for processing a video signal based on a history-based prediction of the motion vector
US20240179337A1 (en) Method and device for processing video signal on basis of inter prediction