RU2810727C1 - Способы, оборудование и устройства для декодирования, кодирования и кодирования/декодирования - Google Patents
Способы, оборудование и устройства для декодирования, кодирования и кодирования/декодирования Download PDFInfo
- Publication number
- RU2810727C1 RU2810727C1 RU2022126916A RU2022126916A RU2810727C1 RU 2810727 C1 RU2810727 C1 RU 2810727C1 RU 2022126916 A RU2022126916 A RU 2022126916A RU 2022126916 A RU2022126916 A RU 2022126916A RU 2810727 C1 RU2810727 C1 RU 2810727C1
- Authority
- RU
- Russia
- Prior art keywords
- current block
- value
- filter
- inter
- prediction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 276
- 241000023320 Luma <angiosperm> Species 0.000 claims description 43
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 43
- 238000005192 partition Methods 0.000 claims description 39
- 238000001914 filtration Methods 0.000 claims description 20
- 230000004913 activation Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 239000013598 vector Substances 0.000 description 25
- 238000010586 diagram Methods 0.000 description 14
- 238000000638 solvent extraction Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 10
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- 230000009849 deactivation Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Abstract
Изобретение относится к средствам для кодирования и декодирования видео. Технический результат заключается в повышении эффективности кодирования видео. Если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и текущий блок удовлетворяет условиям фильтра внешнего предсказания, то выполняют анализ флага фильтра внешнего предсказания. Если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, то получают целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания. Если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, то получают целевое значение предсказания путем выполнения процедуры улучшенного фильтра внешнего предсказания. Получение целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания включает получение значения внешнего предсказания и восстановленного значения для восстановленных пикселей, смежных с текущим блоком, и определение целевого значения предсказания в соответствии со значением внешнего предсказания и упомянутым восстановленным значением. 8 н. и 7 з.п. ф-лы, 13 ил., 2 табл.
Description
Область техники
[0001] Настоящее изобретение относится к области технологий кодирования и декодирования и, в частности, к способам декодирования, способам кодирования, способам, оборудованию и устройствам для кодирования и декодирования.
Предпосылки создания изобретения
[0002] Для уменьшения занимаемого объема, видеоизображения передают после кодирования, при этом способы видеокодирования могут включать такие процедуры, как предсказание, преобразование, квантование, энтропийное кодирование и фильтрация, причем процедура предсказания может включать внутреннее предсказание и внешнее предсказание. Внешним предсказанием называют предсказание пикселей текущих изображений, с использованием корреляции видео во временной области, на основе пикселей соседних кодированных изображений, чтобы устранить избыточность видео во временной области. Внутренним предсказанием называют предсказание текущих некодированных блоков, с учетом сильной корреляции между смежными блоками в пространственной области, на основе окружающих восстановленных пикселей в качестве опорных пикселей, для выполнения последующего кодирования только значения остатка, вместо кодирования исходного значения, что позволяет эффективно устранить избыточность в пространственной области и повысить эффективность сжатия.
[0003] Фильтр внешнего предсказания и улучшенный фильтр внешнего предсказания представляют собой две технологии реализации внешнего предсказания, которые применяют в основном для устранения проблемы пространственной неоднородности между блоком предсказания и окружающими пикселями, которая вызвана внешним предсказанием. Однако до настоящего времени не было подходящего решения для реализации внешнего предсказания при кодировании в режиме фильтра внешнего предсказания или в режиме улучшенного фильтра внешнего предсказания, и имелись проблемы низкой эффективности кодирования.
Сущность изобретения
[0004] В настоящей заявке предлагается способ декодирования, применяемый в устройстве декодирования и включающий: если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, анализ флага фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока; если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, получение целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока; если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, получение целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока.
[0005] В настоящей заявке предлагается способ кодирования, применяемый в устройстве кодирования и включающий: если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, кодирование флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока, при этом, если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; или, если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания.
[0006] В настоящей заявке предлагается способ кодирования и декодирования, применяемый в устройстве кодирования или в устройстве декодирования и включающий: если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока; определение целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности.
[0007] В настоящей заявке предлагается оборудование для декодирования, применяемое в устройстве декодирования и содержащее: модуль получения, сконфигурированный, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, для анализа флага фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока; модуль обработки, сконфигурированный, если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, для получения целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока, и, если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, для получения целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока.
[0008] В настоящей заявке предлагается оборудование для кодирования, применяемое в устройстве кодирования и содержащее: модуль кодирования, сконфигурированный, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, для кодирования флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока, при этом, если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; или, если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания; и модуль передачи, сконфигурированный для передачи данных битового потока текущего блока.
[0009] В настоящей заявке предлагается оборудование для кодирования и декодирования, применяемое в устройстве кодирования или в устройстве декодирования и содержащее: модуль обработки, сконфигурированный, если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, для получения целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока; и модуль определения, сконфигурированный для определения целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности.
[0010] В настоящей заявке предлагается устройство декодирования, содержащее процессор и машиночитаемый носитель данных, при этом на машиночитаемом носителе данных хранятся машиночитаемые инструкции, которые могут исполняться процессором для выполнения следующих шагов: если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, анализ флага фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока; если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, получение целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока; и, если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, получение целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока, или, если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока; и определение целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности.
[0011] В настоящей заявке предлагается устройство кодирования, содержащее процессор и машиночитаемый носитель данных, при этом на машиночитаемом носителе данных хранятся машиночитаемые инструкции, которые могут исполняться процессором для выполнения следующих шагов: если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, кодирование флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока, при этом, если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; или, если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, или, если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока; и определение целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности.
[0012] Из рассмотренных выше технических решений следует, что в вариантах осуществления настоящего изобретения флаги для фильтра внешнего предсказания и улучшенного фильтра внешнего предсказания могут быть не связаны друг с другом, то есть флаг активации фильтра внешнего предсказания указывает на то, разрешено ли применение фильтра внешнего предсказания, а флаг активации улучшенного фильтра внешнего предсказания указывает на то, разрешено ли применение улучшенного фильтра внешнего предсказания, что позволяет эффективно использовать фильтр внешнего предсказания или улучшенный фильтр внешнего предсказания для реализации кодирования с внешним предсказанием и повысить эффективность кодирования без увеличения сложности кодирования и декодирования.
Краткое описание чертежей
[0013] Фиг. 1А представляет собой схему, иллюстрирующую структуру видеокодирования в одном из вариантов осуществления настоящего изобретения.
[0014] Фиг. 1В представляет собой схему, иллюстрирующую дерево разбиения в одном из вариантов осуществления настоящего изобретения.
[0015] Фиг. 2А представляет собой блок-схему, иллюстрирующую способ декодирования в одном из вариантов осуществления настоящего изобретения.
[0016] Фиг. 2В представляет собой блок-схему, иллюстрирующую способ кодирования в одном из вариантов осуществления настоящего изобретения.
[0017] Фиг. 2С представляет собой блок-схему, иллюстрирующую способ кодирования и декодирования в одном из вариантов осуществления настоящего изобретения.
[0018] Фиг. 3 представляет собой блок-схему, иллюстрирующую способ кодирования и декодирования в еще одном из вариантов осуществления настоящего изобретения.
[0019] Фиг. 4 представляет собой блок-схему, иллюстрирующую процедуру декодирования с использованием фильтра внешнего предсказания в одном из вариантов осуществления настоящего изобретения.
[0020] Фиг. 5 представляет собой блок-схему, иллюстрирующую взаимное расположение текущего блока и опорных пикселей в одном из вариантов осуществления настоящего изобретения.
[0021] Фиг. 6А представляет собой структурную схему, иллюстрирующую оборудование для декодирования в одном из вариантов осуществления настоящего изобретения.
[0022] Фиг. 6В представляет собой структурную схему, иллюстрирующую оборудование для кодирования в одном из вариантов осуществления настоящего изобретения.
[0023] Фиг. 6С представляет собой структурную схему, иллюстрирующую оборудование для кодирования и декодирования в одном из вариантов осуществления настоящего изобретения.
[0024] Фиг. 7А представляет собой аппаратную структурную схему, иллюстрирующую устройство декодирования в одном из вариантов осуществления настоящего изобретения.
[0025] Фиг. 7В представляет собой аппаратную структурную схему, иллюстрирующую устройство кодирования в одном из вариантов осуществления настоящего изобретения.
Подробное описание вариантов осуществления изобретения
[0026] Терминология, использованная при описании вариантов осуществления настоящего изобретения, предназначена исключительно для пояснения конкретных примеров и не должна рассматриваться как ограничивающая настоящее изобретение. За исключением случаев, когда обратное явно следует из контекста, выражения в единственном числе в вариантах осуществления настоящего изобретения, такие как «один», «один из» или «упомянутый», в настоящем описании и приложенной формуле изобретения следует трактовать как включающие также и множественное число. Нужно понимать, что выражение «и/или» в настоящем документе указывает на любые и все возможные комбинации из одного или более соответствующих элементов, перечисленных таким образом, или включает их. Для описания информации в вариантах осуществления настоящего изобретения могут использоваться такие выражения, как «первая», «вторая», «третья» или аналогичные им, однако нужно понимать, что такие выражения не накладывают никаких ограничений на описываемую информацию. Данные термины используются исключительно для различения одного типа информации от другого. Например, в пределах сущности настоящего изобретения «первая информация» может также называться «второй информацией»; и, аналогично, «вторая информация» может называться «первой информацией». В зависимости от контекста, выражение «если» в настоящем документе означает «когда», или «после того как», или «в ответ на определение того, что».
[0027] Ниже будут кратко описаны технические термины, необходимые для более полного понимания технических решений настоящего изобретения специалистами в соответствующей области техники.
[0028] Структура видеокодирования: показанная на фиг.1А структура видеокодирования может использоваться для реализации потока обработки данных в устройстве кодирования в вариантах осуществления настоящего изобретения, при этом схема, иллюстрирующая структуру видеодекодирования, аналогична фиг. 1А и не будет здесь повторяться. Упомянутая структура видеодекодирования может использоваться для реализации потока обработки данных в устройстве декодирования в вариантах осуществления настоящего изобретения. Структуры видеокодирования и видеодекодирования могут включать, не ограничиваясь этим, модуль предсказания, модуль оценки / компенсации движения, буфер опорных изображений, модуль внутриконтурной фильтрации, модуль восстановления, модуль преобразования, модуль квантования, модуль обратного преобразования, модуль деквантования, энтропийный кодер и другие модули. В устройстве кодирования посредством взаимодействия между этими модулями может быть реализован поток обработки данных устройства кодирования. В устройстве декодирования посредством взаимодействия между этими модулями может быть реализован поток обработки данных устройства декодирования.
[0029] В некоторых из примеров при видеокодировании процедура предсказания может включать внутреннее предсказание и внешнее предсказание. Внутренним предсказанием называют предсказание текущих некодированных блоков, с учетом сильной корреляции между смежными блоками в пространственной области, на основе окружающих восстановленных пикселей в качестве опорных пикселей, для выполнения последующего кодирования только значения остатка, вместо кодирования исходного значения, чтобы эффективно устранить избыточность в пространственной области и повысить эффективность сжатия. Внешним предсказанием называют предсказание пикселей текущих изображений, с использованием корреляции видео во временной области, на основе пикселей соседних кодированных изображений, чтобы устранить избыточность видео во временной области.
[0030] В некоторых из примеров при видеокодировании под преобразованием понимают преобразование изображения, описанного в форме пикселей в пространственной области, в изображение в области преобразования, которое выражено в виде коэффициентов преобразования. Поскольку большинство изображений включают множество однородных областей и медленно меняющихся областей, соответствующая процедура преобразования позволяет преобразовать неравномерное распределение энергии изображения в пространственной области в сравнительно сконцентрированное распределение энергии изображения в области преобразования. Соответственно, может быть устранена корреляция в частотной области между сигналами, что в сочетании с процедурой квантования позволяет эффективно сжимать данные битового потока.
[0031] В некоторых из примеров под энтропийным кодированием понимают способ кодирования без потерь в соответствии с принципом энтропии информации, при этом модуль энтропийного кодирования, как последний модуль обработки данных при видеосжатии, преобразует последовательность символов элементов, описывающих видеопоследовательность, в двоичные данные битового потока для передачи или хранения. Входные символы элементов могут включать квантованные коэффициенты преобразования, информацию векторов движения, информацию о режиме предсказания, соответствующий синтаксис преобразования и квантования и т.п.Выходные данные из модуля энтропийного кодера представляют собой окончательные данные битового потока после сжатия исходного видео. Энтропийное кодирование позволяет эффективно устранять статистическую избыточность этих символов элементов видео и является одним из важных инструментов, обеспечивающих эффективность сжатия при видеокодировании.
[0032] В некоторых из примеров используют контурный фильтр для устранения артефактов блочности в изображении или проблем с качеством изображения, или иных проблем, что позволяет повысить качество изображения. К примеру, контурный фильтр может включать, не ограничиваясь этим, фильтр устранения блочности, адаптивный фильтр смещения отсчетов (sample adaptive offset, SAO), адаптивный контурный фильтр (adaptive loop filter, ALF), кросскомпонентный адаптивный контурный фильтр (Cross-Component Adaptive Loop Filter, CCALF) и т.п.
[0033] Вектор движения (Motion Vector, MV): при внешнем предсказании может использоваться вектор движения для указания относительного смещения между текущим блоком в текущем изображении видео и опорным блоком в опорном изображении видео. Каждый блок разбиения имеет соответствующий ему вектор движения, передаваемый в устройство декодирования. Если вектор движения для каждого блока кодировать и передавать независимо, то потребуется значительное число битов, особенно в случае разбиения на большое число блоков малого размера. Для снижения количества битов для кодирования вектора движения может использоваться корреляция между смежными блоками в пространственной области для предсказания вектора движения для текущего кодируемого блока на основе векторов движения смежных кодированных блоков, а затем кодируют расхождение с предсказанием, благодаря чему может быть значительно уменьшено количество битов для указания векторов движения. В некоторых из примеров в процедуре кодирования вектора движения для текущего блока векторы движения смежных кодированных блоков могут использоваться для предсказания вектора движения текущего блока, а затем кодируют разность векторов движения (Motion Vector Difference, MVD) между предсказанием вектора движения (Motion Vector Prediction, MVP) и истинным вычисленным вектором движения, благодаря чему может быть значительно уменьшено количество битов для кодирования векторов движения.
[0034] Информация о движении: поскольку вектор движения указывает на смещение между текущим блоком и опорным блоком, то для точного получения информации об опорном блоке, помимо вектора движения, необходима информация индекса опорного изображения, которая указывает, какое из опорных изображений используется для текущего блока. Как правило, в технологии видеокодирования для текущего изображения формируют список опорных изображений, при этом информация индекса опорного изображения указывает, какое из опорных изображений в списке опорных изображений используют для текущего блока. Кроме того, во многих технологиях кодирования поддерживается множество списков опорных изображений. Соответственно, может использоваться значение индекса для указания, какой список опорных изображений используется, и это значение индекса может называться опорным направлением. Итак, в технологии видеокодирования информация, относящаяся к движению, такая как векторы движения, информация индекса опорного изображения и опорное направление, может совместно называться информацией о движении.
[0035] Стандартный режим внешнего предсказания, режим пропуска и прямой режим: при внешнем предсказании для предсказания текущего блока может использоваться один из режимов внешнего предсказания. Режимы внешнего предсказания могут включать: стандартный режим внешнего предсказания, режим пропуска, прямой режим и т.п.
[0036] Режим пропуска является одним из режимов внешнего предсказания. Устройство кодирования не передает информацию остатка или MVD, а передает только индекс информации о движении. Устройство декодирования может вычислять информацию о движении текущего блока путем анализа индекса информации о движении. После получения информации о движении ее используют для определения значения предсказания, а значение предсказания используют напрямую в качестве восстановленного значения.
[0037] Прямой режим является режимом внешнего предсказания. Устройство кодирования передает информацию остатка, но не передает MVD, а передает только индекс информации о движении. Устройство декодирования может вычислять информацию о движении текущего блока путем анализа индекса информации о движении. После получения информации о движении ее используют для определения значения предсказания и добавляют значение предсказания к значению остатка для получения восстановленного значения.
[0038] Еще одним из режимов внешнего предсказания является стандартный режим внешнего предсказания. В отличие от режима пропуска и прямого режима в стандартном режиме внешнего предсказания записывают индекс информации о движении, MVD, информацию остатка и другие данные, которые подлежат передаче. Однако в режиме пропуска или в прямом режиме информацию о движении текущего блока полностью мультиплексируют с информацией о движении смежного блока во временной или в пространственной области. К примеру, один элемент информации о движении может выбираться в качестве информации о движении из множества элементов информации о движении множества окружающих блоков. Соответственно, в режиме пропуска и в прямом режиме необходимо кодировать только значение индекса, указывающего, какая информация о движении из множества элементов информации о движении должна использоваться для текущего блока. Различие между режимом пропуска и прямым режимом заключается в том, что в режиме пропуска остатки не кодируют, а в прямом режиме - кодируют. Соответственно, прямой режим и режим пропуска позволяют значительно сократить объем служебной информации при кодировании информации о движении.
[0039] В прямом режиме способ формирования значения внешнего предсказания может определяться с использованием различных режимов внешнего предсказания, например, стандартного прямого режима, режима подблоков, режима слияния с разностью векторов движения (Merge with Motion Vector Difference mode, MMVD), комбинированного режима внешнего и внутреннего предсказания (Combine Inter Intra Prediction Mode, CUP), режима треугольного предсказания (Triangular Prediction Mode, TPM) или режима геометрического разбиения (Geometrical Partitioning mode, GEO). Режим подблоков может быть аффинным режимом или режимом предсказания временных векторов движения на основе подблоков (Subblock-based Temporal Motion Vector Prediction, SbTMVP).
[0040] В стандартном прямом режиме из списка информации о возможном движении может выбираться один элемент информации о движении, и может быть сформировано значение предсказания для текущего блока на основе этой информации о движении. Список информации о возможном движении включает: информацию о возможном движении смежных блоков в пространственной области, информацию о возможном движении смежных блоков во временной области, информацию о возможном движении несмежных блоков в пространственной области, информацию о движении, полученную комбинированием существующей информации о движении, заданной по умолчанию информации о движении и т.п.Список информации о возможном движении может также включать такую информацию о движении, как предсказание векторов движения на основе предыстории (History based Motion Vector Prediction, HMVP) и/или предсказание угла вектора движения (Motion Vector Angle Prediction, MVAP), без ограничения настоящего изобретения в этом отношении.
[0041] Режим MMVD может называться режимом окончательного выражения вектора движения (Ultimate Motion Vector Expression, UMVE). На основе списка информации о возможном движении в стандартном прямом режиме информацию о движении выбирают в качестве опорной информации о движении из списка информации о возможном движении в стандартном прямом режиме и при помощи списка, по которому осуществляют поиск, получают разность информации о движении. Окончательную информацию о движении получают на основе опорной информации о движении и разности информации о движении и формируют значение предсказания для текущего блока на основе окончательной информации о движении. В режиме MMVD/UMVE выполняют смещение на основе сформированного возможного движения, в результате чего получают улучшенное возможное движение.
[0042] В аффинном режиме, аналогично стандартному прямому режиму, из списка информации о возможном движении выбирают один элемент информации о движении и формируют значение предсказания для текущего блока на основе этой информации о движении. Отличие от стандартного прямого режима заключается в том, что информация о движении из списка информации о возможном движении в стандартном прямом режиме представляет собой 2-параметровый смещающий вектор движения, тогда как информация о движении из списка информации о возможном движении в аффинном режиме представляет собой 4-параметровую, или 6-параметровую, или 8-параметровую информацию об аффинном движении.
[0043] В режиме SbTMVP, в опорном изображении во временной области, информация о движении блока может мультиплексироваться непосредственно, а значение предсказания для текущего блока формируют на основе информации о движении, при этом информация о движении для каждого подблока в блоке может быть различной.
[0044] В режиме СИР новое значение предсказания для текущего блока получают комбинированием значения внутреннего предсказания и значения внешнего предсказания. Режим СИР может называться режимом фильтра внешнего предсказания, то есть фильтром внешнего предсказания, и будет далее так называться.
[0045] При использовании фильтра внешнего предсказания значение внешнего предсказания получают на основе информации о движении стандартного прямого режима или на основе информации о движении режима TPM/GEO, или на основе информации о движении режима SbTMVP, причем настоящее изобретение в данном отношении не ограничено. При использовании фильтра внешнего предсказания значение внутреннего предсказания может быть получено с использованием планарного режима, режима DC, любого углового режима и т.п.
[0046] В режиме ТРМ блок разбивают на два треугольных подблока (45-градусный и 135-градусный треугольные подблоки), при этом два треугольных подблока имеют различную однонаправленную информацию о движении. Режим ТРМ используют только для процедуры предсказания, он не влияет на последующие процедуры преобразования и квантования. В данном случае однонаправленную информацию о движении получают непосредственно из списка информации о возможном движении.
[0047] Режим GEO аналогичен режиму ТРМ, отличаются только формы разбиения. В режиме GEO прямоугольный блок разбивают на два подблока любой формы (отличающейся от формы двух треугольных блоков в режиме ТРМ), например, один может быть треугольным подблоком, а другой пятиугольным; один может быть треугольным, а другой четырехугольным; или оба могут быть трапециевидными подблоками, без ограничения настоящего изобретения в этом отношении. Два подблока, на которые выполняют разбиение в режиме GEO, могут иметь различную однонаправленную информацию о движении.
[0048] Кодирование флагов: в видеокодировании применяют множество режимов. Для каждого блока может применяться один из режимов. Для указания, какой из режимов следует использовать, каждый блок помечают кодированием соответствующего флага. К примеру, в случае устройства кодирования, значение флага определяют в устройстве кодирования, а затем значение флага кодируют и передают в устройство декодирования. В случае устройства декодирования при помощи анализа значения флага определяют, активирован ли соответствующий режим.
[0049] Кодирование флагов может быть реализовано при помощи высокоуровневого синтаксиса. Высокоуровневый синтаксис может использоваться для указания, допускается ли активация режима, то есть разрешение и запрещение активации режима выполняют при помощи высокоуровневого синтаксиса.
[0050] В некоторых из примеров таким высокоуровневым синтаксисом может быть высокоуровневый синтаксис набора параметров последовательности (Sequence Parameter Set, SPS), или высокоуровневый синтаксис набора параметров изображения (Picture Parameter Set, PPS), или высокоуровневый синтаксис заголовка слайса, или высокоуровневый синтаксис заголовка изображения, без ограничения настоящего изобретения в этом отношении.
[0051] В случае высокоуровневого синтаксиса SPS имеются флаги, позволяющие определить, допускается ли активация некоторых режимов (инструментов/способов) во всей видеопоследовательности (то есть в множестве видеоизображений). К примеру, если флаг имеет значение А (например, значение 1), режим, соответствующий этому флагу, может быть активирован в видеопоследовательности; или, если флаг имеет значение В (например, значение 0), режим, соответствующий этому флагу, не может быть активирован в видеопоследовательности.
[0052] В случае высокоуровневого синтаксиса PPS имеются флаги, позволяющие определить, допускается ли активация некоторых режимов (инструментов/способов) в изображении (то есть в видеоизображении). Если флаг имеет значение А, режим, соответствующий этому флагу, может быть активирован в видеоизображении; если флаг имеет значение В, режим, соответствующий этому флагу, не может быть активирован в видеоизображении.
[0053] В случае высокоуровневого синтаксиса заголовка изображения имеются флаги для определения, допускается ли активация некоторых режимов (инструментов/способов) в заголовке изображения. Если флаг имеет значение А, режим, соответствующий этому флагу, может быть активирован в заголовке изображения; если флаг имеет значение В, режим, соответствующий этому флагу, не может быть активирован в заголовке изображения. В некоторых из примеров в заголовке изображения хранится общая информация только для текущего изображения. К примеру, если изображение включает множество слайсов, для этого множества слайсов может применяться общая информация из заголовка изображения.
[0054] В случае высокоуровневого синтаксиса заголовка слайса имеются флаги для определения, допускается ли активация некоторых режимов (инструментов/способов) в слайсе. Если флаг имеет значение А, режим, соответствующий этому флагу, может быть активирован в слайсе; если флаг имеет значение В, режим, соответствующий этому флагу, не может быть активирован в слайсе. В некоторых из примеров изображение может включать один или более слайсов, при этом для каждого слайса высокоуровневый синтаксис заголовка слайса представляет собой высокоуровневый синтаксис, сконфигурированный для каждого слайса.
[0055] Дерево разбиения: в соответствии с фиг.1 В, текущий блок может быть разбит с использованием разбиений четырех типов: квадродерево (Quad-tree, QT), двоичное дерево (Binary-tree, ВТ), расширенное квадродерево (Extended Quad-tree, EQT) и отсутствие разбиения (также называемое «без разбиения»). Соответственно, тип дерева разбиения может представлять собой QT, ВТ, EQT или отсутствие разбиения. В некоторых примерах разбиение QT означает разбиение текущего блока с использованием квадродерева для получения четырех подблоков одинакового размера, при этом ширина и высота каждого из подблоков равны половине текущего блока.
[0056] Под разбиением ВТ понимают разбиение текущего блока с использованием двоичного дерева для получения двух подблоков одинакового размера. Разбиение ВТ также разделяют на горизонтальное разбиение двоичного дерева (ВТ_HOR) и вертикальное разбиение двоичного дерева (ВТ_VER). В случае ВТ_HOR текущий блок разбивают на два подблока горизонтально, при этом ширина каждого подблока равна ширине текущего блока, а высота каждого подблока равна половине высоты текущего блока. В случае BT_VER текущий блок разбивают на два подблока вертикально, при этом ширина каждого подблока равна половине ширины текущего блока, а высота каждого подблока равна высоте текущего блока.
[0057] Под разбиением EQT понимают разбиение текущего блока с помощью квадродерева для получения четырех подблоков, однако размеры этих четырех подблоков не являются все одинаковыми. Разбиение EQT также разделяют на горизонтально протяженное разбиение QT (EQT_HOR) и вертикально протяженное разбиение QT (EQT_VER). В случае разбиения EQT_HOR текущий блок размером M*N разбивают на два подблока размером M*(N/4) и два подблока размером (M/2)*(N/2). В случае разбиения EQT_VER текущий блок размером M*N разбивают на два подблока размером (M/4)*N и два подблока размером (M/2)*(N/2).
[0058] Что касается аппаратной реализации, в случае компонентов цветности 2*N и N*2 затраты на аппаратную реализацию выше. Поэтому при разбиении блоки с компонентами цветности 2*N и N*2 пропускают.Когда для блока используют один из типов разбиения (QT, ВТ или EQT), формируют компонент цветности 2*N или N*2, а компоненты яркости для этого блока продолжают разбивать, в результате чего получают несколько подкомпонентов яркости, однако компонент цветности не разбивают, то есть формируют один компонент цветности. В таких случаях тип дерева разбиения в компонентах яркости не будет совпадать с типом дерева разбиения в компонентах цветности, то есть типом дерева разбиения в компонентах яркости является QT, ВТ или EQT, а в компонентах цветности «без разбиения».
[0059] Оптимизация «скорость - искажения» (Rate-Distortion Optimized, RDO): существуют два основных показателя для оценки эффективности кодирования: степень сжатия и пиковое соотношение сигнала к шуму (Peak Signal to Noise Ratio, PSNR). Чем меньше битовый поток, тем больше степень сжатия. Чем больше PSNR, тем выше качество восстановленного изображения. При выборе режима дискриминантной формулой по существу является совокупная оценка этих двух показателей. К примеру, функция стоимости, соответствующая режиму, может иметь вид: J(mode)=D+λ*R, где D - искажения, которые, как правило, могут быть измерены при помощи показателя SSE, где SSE означает среднеквадратичную сумму разностей между блоками восстановленного изображения и исходным изображением; λ - множитель Лагранжа; R - фактическое количество битов, необходимое для кодирования блока изображения в этом режиме, включающее суммарное количество битов для кодирования информации о режиме, информации о движении, остатков и т.п. При выборе режима, если для решений о выборе режимов кодирования используют RDO, как правило, удается обеспечить наилучшую эффективность кодирования.
[0060] В известном уровне техники используют технологии реализации внешнего предсказания, например фильтр внешнего предсказания и улучшенный фильтр внешнего предсказания, в основном для устранения проблемы пространственной неоднородности между предсказываемым блоком и окружающими блоками, которая вызвана внутренним предсказанием. Однако улучшенный фильтр внешнего предсказания используют только для компонентов яркости, но не для компонентов цветности, в результате чего проблема пространственной неоднородности между блоком предсказания и окружающими пикселями по-прежнему остается в компонентах цветности, и эффективность кодирования остается низкой. При этом, активированы ли фильтр внешнего предсказания и улучшенный фильтр внешнего предсказания, указывают при помощи высокоуровневого синтаксиса, то есть высокоуровневым синтаксисом управляется одновременная активация фильтра внешнего предсказания и улучшенного фильтра внешнего предсказания, а также одновременная деактивация фильтра внешнего предсказания и улучшенного фильтра внешнего предсказания, что не позволяет реализовать раздельное управление фильтром внешнего предсказания и улучшенным фильтром внешнего предсказания и поддержку более гибкого выбора и снижает эффективность кодирования.
[0061] В свете представленных выше выводов, в одной из возможных реализаций, фильтр внешнего предсказания и улучшенный фильтр внешнего предсказания могут быть активированы по отдельности, то есть, активирован ли фильтр внешнего предсказания (то есть активацию или деактивацию фильтра внешнего предсказания), указывают при помощи одного высокоуровневого синтаксиса, а активирован ли улучшенный фильтр внешнего предсказания (то есть активацию или деактивацию улучшенного фильтра внешнего предсказания) указывают при помощи другого высокоуровневого синтаксиса, что позволяет обеспечить более гибкий выбор и повысить эффективность кодирования.
[0062] В еще одном из возможных вариантов реализации улучшенный фильтр внешнего предсказания может использоваться для обработки компонентов цветности, то есть улучшенный фильтр внешнего предсказания может использоваться и для обработки компонентов яркости, и для обработки компонентов цветности, что позволяет решить проблему пространственной неоднородности между блоком предсказания и окружающими пикселями, которая вызвана внешним предсказанием, к примеру, устранить проблему пространственной неоднородности компонентов цветности и повысить эффективность кодирования.
[0063] В еще одной из возможных реализаций фильтр внешнего предсказания и улучшенный фильтр внешнего предсказания могут управляться по отдельности, то есть, активирован ли фильтр внешнего предсказания (то есть активацию или деактивацию фильтра внешнего предсказания), указывают при помощи одного высокоуровневого синтаксиса, а активирован ли улучшенный фильтр внешнего предсказания (то есть активацию или деактивацию улучшенного фильтра внешнего предсказания) указывают при помощи другого высокоуровневого синтаксиса, что позволяет обеспечить более гибкий выбор и повысить эффективность кодирования. Кроме того, при активации улучшенного фильтра внешнего предсказания, улучшенный фильтр внешнего предсказания может использоваться для обработки компонентов цветности, то есть улучшенный фильтр внешнего предсказания может использоваться и для обработки компонентов яркости, и для обработки компонентов цветности, что позволяет решить проблему пространственной неоднородности между блоком предсказания и окружающими пикселями, которая вызвана внешним предсказанием, к примеру, устранить проблему пространственной неоднородности компонентов цветности и повысить эффективность кодирования.
[0064] В некоторых из примеров фильтр внешнего предсказания и улучшенный фильтр внешнего предсказания, в вариантах осуществления настоящего изобретения, могут представлять собой другие технологии фильтрации для процедуры внешнего предсказания, вместо контурного фильтра, показанного на фиг. 1А (например, фильтр устранения блочности, фильтр SAO, фильтр ALF или фильтр CCALF). Под фильтром внешнего предсказания понимают применение технологии фильтрации внешнего предсказания для фильтрации значений внешнего предсказания в процедуре внешнего предсказания. Фильтр внешнего предсказания может называться предсказанием с объединенными прямым и внутренним режимами (Unite Direct and Intra Mode Prediction, UDIP). Под улучшенным фильтром внешнего предсказания понимают применение технологии улучшенного фильтра внешнего предсказания для фильтрации значений внешнего предсказания в процедуре внешнего предсказания. Улучшенный фильтр внешнего предсказания может называться улучшенным предсказанием с объединенными прямым и внутренним режимами (Enhance Unite Direct and Intra Mode Prediction, EUDIP).
[0065] Ниже будут рассмотрены способ декодирования и способ кодирования в вариантах осуществления настоящего изобретения на нескольких конкретных примерах.
[0066] Вариант 1 осуществления изобретения: фиг. 2А представляет собой блок-схему, иллюстрирующую способ декодирования. Способ может применяться в устройстве декодирования и включает:
[0067] на шаге 211, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, анализируют флаг фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока.
[0068] В некоторых примерах, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, анализируют флаг фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока.
[0069] В некоторых примерах, если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, выполняют шаг 212; если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, выполняют шаг 213; если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является тип «без фильтра», выполняют шаг 214.
[0070] Исходя из этого, перед шагом 211 сначала может быть проанализирован флаг активации фильтра внешнего предсказания из данных битового потока (то есть данных битового потока высокоуровневого синтаксиса), при этом флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, или на то, что текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания.
[0071] Если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, определяют, что текущий блок удовлетворяет условиям фильтра внешнего предсказания.
[0072] Если текущий блок не удовлетворяет условиям фильтра внешнего предсказания, то запрещается анализировать флаг фильтра внешнего предсказания текущего блока из данных битового потока текущего блока, то есть для текущего блока не выполняют ни процедуру фильтра внешнего предсказания, ни процедуру улучшенного фильтра внешнего предсказания.
[0073] Если текущий блок удовлетворяет условиям фильтра внешнего предсказания, флаг фильтра внешнего предсказания анализируют из данных битового потока текущего блока, определяют тип фильтра для текущего блока в соответствии с флагом фильтра внешнего предсказания и выполняют соответствующую обработку.
[0074] В некоторых из примеров то, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, включает, не ограничиваясь этим, следующее: если режимом внешнего предсказания для текущего блока является прямой режим, и/или текущий блок удовлетворяет условию ограничения размера, определяют, что текущий блок удовлетворяет условиям фильтра внешнего предсказания.
[0075] В некоторых из примеров после анализа флага фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока может быть определен тип фильтра для текущего блока в соответствии с флагом фильтра внешнего предсказания. К примеру, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, когда флаг фильтра внешнего предсказания принимает первое значение, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является тип «без фильтра», то есть определяют, что типом фильтра для текущего блока является тип «без фильтра»; когда флаг фильтра внешнего предсказания принимает второе значение, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, то есть определяют, что типом фильтра для текущего блока является фильтр внешнего предсказания; когда флаг фильтра внешнего предсказания принимает третье значение, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, то есть определяют, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания.
[0076] Упомянутые первое значение, второе значение и третье значение могут быть заданы в соответствии с практическим применением и не ограничены в настоящем документе. К примеру, первым значением может быть 0, вторым значением может быть 10, а третьим значением может быть 11. Указанные значения приведены только в качестве примера.
[0077] На шаге 212 получают целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока.
[0078] В некоторых из примеров, когда для текущего блока выполняют процедуру фильтра внешнего предсказания, могут быть получены значение внешнего предсказания для текущего блока и значение внутреннего предсказания для текущего блока, и определяют целевое значение предсказания для текущего блока в соответствии со значением внешнего предсказания и значением внутреннего предсказания.
[0079] В одном из возможных вариантов реализации текущий блок включает компонент яркости и компонент цветности, при этом целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры фильтра внешнего предсказания для компонента яркости; или целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры фильтра внешнего предсказания для компонента цветности; или целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры фильтра внешнего предсказания для компонента яркости, и целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры фильтра внешнего предсказания для компонента цветности.
[0080] На шаге 213 получают целевое значение предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока.
[0081] В некоторых из примеров, когда для текущего блока выполняют процедуру улучшенного фильтра внешнего предсказания, могут быть получены значение внешнего предсказания для текущего блока и восстановленное значение для восстановленных пикселей, смежных с текущим блоком (например, восстановленное значение для восстановленных пикселей в столбце слева от текущего блока и/или восстановленное значение для восстановленных пикселей в строке сверху от текущего блока), и определяют целевое значение предсказания для текущего блока в соответствии со значением внешнего предсказания и восстановленным значением.
[0082] В одном из возможных вариантов реализации текущий блок включает компонент яркости и компонент цветности, при этом целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости; или целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности; или целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости, и целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
[0083] В некоторых примерах получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности может включать, не ограничиваясь этим: получение значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности, и определение целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
[0084] В некоторых примерах получение целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости может включать, не ограничиваясь этим: получение значения внешнего предсказания для компонента яркости и восстановленного значения яркости для восстановленных пикселей, смежных с компонентом яркости, и определение целевого значения предсказания для компонента яркости в соответствии со значением внешнего предсказания для компонента яркости и восстановленным значением яркости.
[0085] В одном из возможных вариантов реализации получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности может включать следующее: если компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, целевое значение предсказания для компонента цветности получают путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности. При этом то, что компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, может включать, не ограничиваясь этим, то, что компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости.
[0086] На шаге 214 для текущего блока не выполняют процедуру фильтрации, при этом определяют значение внешнего предсказания для текущего блока в качестве целевого значения предсказания для текущего блока.
[0087] В некоторых из примеров, когда для текущего блока не выполняют процедуру фильтрации, может быть получено значение внешнего предсказания для текущего блока, и значение внешнего предсказания может быть определено в качестве целевого значения предсказания для текущего блока, при этом для значения внешнего предсказания не выполняют процедуру фильтрации.
[0088] Вариант 2 осуществления изобретения: фиг. 2В представляет собой блок-схему, иллюстрирующую способ кодирования. Способ может применяться в устройстве кодирования и включает:
[0089] на шаге 221, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, флаг фильтра внешнего предсказания для текущего блока кодируют вместе с данными битового потока текущего блока в соответствии с типом фильтра для текущего блока.
[0090] В некоторых примерах, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, флаг фильтра внешнего предсказания кодируют вместе с данными битового потока текущего блока в соответствии с типом фильтра для текущего блока.
[0091] В некоторых из примеров, если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания; или, если типом фильтра для текущего блока является тип «без фильтра», флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является тип «без фильтра».
[0092] Исходя из этого, перед шагом 221, устройство кодирования может сначала кодировать флаг активации фильтра внешнего предсказания в данных битового потока (то есть в данных битового потока высокоуровневого синтаксиса), при этом флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, или на то, что текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания.
[0093] Если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, определяют, что текущий блок удовлетворяет условиям фильтра внешнего предсказания.
[0094] Если текущий блок не удовлетворяет условиям фильтра внешнего предсказания, то запрещается кодировать флаг фильтра внешнего предсказания текущего блока в данных битового потока текущего блока, то есть для текущего блока не выполняют ни процедуру фильтра внешнего предсказания, ни процедуру улучшенного фильтра внешнего предсказания.
[0095] Если текущий блок удовлетворяет условиям фильтра внешнего предсказания, флаг фильтра внешнего предсказания кодируют вместе с данными битового потока текущего блока, например, флаг фильтра внешнего предсказания для текущего блока кодируют вместе с данными битового потока текущего блока в соответствии с типом фильтра для текущего блока.
[0096] В некоторых из примеров то, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, может включать, не ограничиваясь этим, следующее: если режимом внешнего предсказания для текущего блока является прямой режим, и/или текущий блок удовлетворяет условию ограничения размера, определяют, что текущий блок удовлетворяет условиям фильтра внешнего предсказания.
[0097] В некоторых из примеров кодирование флага фильтра внешнего предсказания для текущего блока вместе с данными битового потока текущего блока в соответствии с типом фильтра текущего блока может включать, не ограничиваясь этим, следующее: если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, то когда типом фильтра для текущего блока является тип «без фильтра», устройство кодирования кодирует флаг фильтра внешнего предсказания как первое значение в данных битового потока текущего блока, при этом флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является тип «без фильтра»; когда типом фильтра для текущего блока является фильтр внешнего предсказания, устройство кодирования кодирует флаг фильтра внешнего предсказания как второе значение в данных битового потока текущего блока, при этом флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; когда типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, устройство кодирования кодирует флаг фильтра внешнего предсказания как третье значение в данных битового потока текущего блока, при этом флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания. Упомянутые первое значение, второе значение и третье значение могут быть заданы в соответствии с практическим применением и не ограничены в настоящем документе. К примеру, первым значением может быть 0, вторым значением может быть 10, а третьим значением может быть 11.
[0098] В одном из возможных вариантов реализации перед кодированием флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока, тип фильтра для текущего блока может быть определен следующим образом: получают первое целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока; получают второе целевое значение предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока; для текущего блока не выполняют процедуру фильтрации и определяют значение внешнего предсказания для текущего блока в качестве третьего целевого значения предсказания для текущего блока. Далее, тип фильтра для текущего блока может быть определен в соответствии со значением целевой функции «скорость - искажения», соответствующим первому целевому значению предсказания, значением целевой функции «скорость искажения», соответствующим второму целевому значению предсказания, и значением целевой функции «скорость - искажения», соответствующим третьему целевому значению предсказания.
[0099] К примеру, если значение целевой функции «скорость искажения», соответствующее первому целевому значению предсказания, является наименьшим значением целевой функции «скорость - искажения», может быть определено, что типом фильтра для текущего блока является фильтр внешнего предсказания. Если значение целевой функции «скорость искажения», соответствующее второму целевому значению предсказания, является наименьшим значением целевой функции «скорость искажения», может быть определено, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания. Если значение целевой функции «скорость искажения», соответствующее третьему целевому значению предсказания, является наименьшим значением целевой функции «скорость -искажения», может быть определено, что типом фильтра для текущего блока является тип «без фильтра».
[00100] В некоторых из примеров, когда для текущего блока выполняют процедуру фильтра внешнего предсказания, могут быть получены значение внешнего предсказания для текущего блока и значение внутреннего предсказания для текущего блока, и может быть определено первое целевое значение предсказания для текущего блока в соответствии со значением внешнего предсказания и значением внутреннего предсказания.
[00101] К примеру, когда текущий блок включает компонент яркости и компонент цветности, первое целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры фильтра внешнего предсказания для компонента яркости; или первое целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры фильтра внешнего предсказания для компонента цветности; или первое целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры фильтра внешнего предсказания для компонента яркости, и первое целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры фильтра внешнего предсказания для компонента цветности.
[00102] В некоторых из примеров, когда для текущего блока выполняют процедуру улучшенного фильтра внешнего предсказания, могут быть получены значение внешнего предсказания для текущего блока и восстановленное значение для восстановленных пикселей, смежных с текущим блоком (например, восстановленное значение для восстановленных пикселей в столбце слева от текущего блока и/или восстановленное значение для восстановленных пикселей в строке сверху от текущего блока), и определяют второе целевое значение предсказания для текущего блока в соответствии со значением внешнего предсказания и восстановленным значением.
[00103] К примеру, когда текущий блок включает компонент яркости и компонент цветности, второе целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости; или второе целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности; или второе целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости, и второе целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
[00104] Получение второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности может включать, не ограничиваясь этим: получение значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности, и определение второго целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
[00105] Получение второго целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости может включать, не ограничиваясь этим: получение значения внешнего предсказания для компонента яркости и восстановленного значения яркости для восстановленных пикселей, смежных с компонентом яркости, и определение второго целевого значения предсказания для компонента яркости в соответствии со значением внешнего предсказания для компонента яркости и восстановленным значением яркости.
[00106] Получение второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности может включать, не ограничиваясь этим, следующее: если компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, получение второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности. При этом то, что компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, может включать, не ограничиваясь этим, то, что компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости.
[00107] В некоторых из примеров, когда для текущего блока не выполняют процедуру фильтрации, может быть получено значение внешнего предсказания для текущего блока, и значение внешнего предсказания может быть определено в качестве третьего целевого значения предсказания для текущего блока, при этом для значения внешнего предсказания не выполняют процедуру фильтрации.
[00108] На шаге 222 данные битового потока текущего блока передают в устройство декодирования, при этом данные битового потока включают флаг фильтра внешнего предсказания, и флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, или типом фильтра для текущего блока является тип «без фильтра».
[00109] Вариант 3 осуществления изобретения: фиг.2С представляет собой блок-схему, иллюстрирующую способ кодирования и декодирования. Способ может применяться в устройстве кодирования или в устройстве декодирования. Устройство кодирования реализует процедуру кодирования, соответствующую предлагаемому способу, а устройство декодирования реализует процедуру декодирования, соответствующую предлагаемому способу. Способ может включать:
[00110] на шаге 231, если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, получают целевое значение предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока.
[00111] На шаге 232 определяют целевое значение предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности.
[00112] В некоторых примерах текущий блок может включать компонент яркости и компонент цветности, и, если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, целевое значение предсказания для компонента цветности получают путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока, и целевое значение предсказания для текущего блока определяют в соответствии с целевым значением предсказания для компонента цветности, или целевое значение предсказания для компонента цветности получают путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока, целевое значение предсказания для компонента яркости получают путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости текущего блока, и целевое значение предсказания для текущего блока определяют в соответствии с целевым значением предсказания для компонента цветности и целевым значением предсказания для компонента яркости.
[00113] В некоторых примерах получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности может включать, не ограничиваясь этим: получение значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности, и определение целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
[00114] В некоторых примерах получение целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости может включать, не ограничиваясь этим: получение значения внешнего предсказания для компонента яркости и восстановленного значения яркости для восстановленных пикселей, смежных с компонентом яркости, и определение целевого значения предсказания для компонента яркости в соответствии со значением внешнего предсказания для компонента яркости и восстановленным значением яркости.
[00115] В некоторых из примеров получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности может включать, не ограничиваясь этим, следующее: если компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, целевое значение предсказания для компонента цветности получают путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности. При этом то, что компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, может включать, не ограничиваясь этим, то, что компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости.
[00116] Как следует из рассмотренных выше технических решений, в вариантах осуществления настоящего изобретения улучшенный фильтр внешнего предсказания может использоваться для обработки компонентов цветности, то есть улучшенный фильтр внешнего предсказания может использоваться и для обработки компонентов яркости, и для обработки компонентов цветности, что позволяет решить проблему пространственной неоднородности между блоком предсказания и окружающими пикселями, которая вызвана внешним предсказанием, к примеру, устранить проблему пространственной неоднородности компонентов цветности и повысить эффективность кодирования.
[00117] Вариант 4 осуществления изобретения: устройство кодирования может сначала получать высокоуровневый синтаксис, а высокоуровневый синтаксис может включать флаг активации фильтра внешнего предсказания. Способы упомянутого получения не ограничены при условии, что может быть получен флаг активации фильтра внешнего предсказания. Флаг активации фильтра внешнего предсказания может быть флагом в наборе SPS, флагом в наборе PPS, флагом в заголовке слайса или флагом в заголовке изображения. На типы высокоуровневого синтаксиса для таких флагов не накладывается никаких ограничений.
[00118] Флаг активации фильтра внешнего предсказания указывает на то, что использование фильтра внешнего предсказания разрешено, или на то, что использование фильтра внешнего предсказания не разрешено. К примеру, когда флаг активации фильтра внешнего предсказания принимает значение А (например, значение, равное 1), использование фильтра внешнего предсказания может быть разрешено; когда флаг активации фильтра внешнего предсказания принимает значение В (например, значение, равное 0), использование фильтра внешнего предсказания не разрешено.
[00119] В некоторых из примеров, если флаг активации фильтра внешнего предсказания указывает на то, что использование фильтра внешнего предсказания разрешено, когда устройство кодирования/декодирования обрабатывает(ют) текущий блок, то при помощи флага активации фильтра внешнего предсказания определяют, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания. Если флаг активации фильтра внешнего предсказания указывает на то, что использование фильтра внешнего предсказания не разрешено, то при обработке текущего блока, при помощи флага активации фильтра внешнего предсказания, определяют, что текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания.
[00120] Итак, устройство кодирования/декодирования при помощи флага активации фильтра внешнего предсказания может определить, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, или что текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания.
[00121] Исходя из описанной выше процедуры, в соответствии с фиг.3, способ кодирования и декодирования, предлагаемый в вариантах осуществления настоящего изобретения, может включать:
[00122] на шаге 301 устройство кодирования определяет, указывает ли флаг активации фильтра внешнего предсказания на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания.
[00123] Если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания, то запрещается кодировать флаг фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока, то есть для текущего блока не выполняют ни процедуру фильтра внешнего предсказания, ни процедуру улучшенного фильтра внешнего предсказания.
[00124] Если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, выполняют шаг 302.
[00125] На шаге 302 устройство кодирования определяет, удовлетворяет ли текущий блок условиям фильтра внешнего предсказания.
[00126] Если текущий блок не удовлетворяет условиям фильтра внешнего предсказания, то запрещается кодировать флаг фильтра внешнего предсказания текущего блока в данных битового потока текущего блока, то есть для текущего блока не выполняют ни процедуру фильтра внешнего предсказания, ни процедуру улучшенного фильтра внешнего предсказания.
[00127] Если текущий блок удовлетворяет условиям фильтра внешнего предсказания, выполняют шаг 303.
[00128] Процедура определения того, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, может включать, не ограничиваясь этим, следующее: если режимом внешнего предсказания для текущего блока является прямой режим, и/или текущий блок удовлетворяет условию ограничения размера, определяют, что текущий блок удовлетворяет условиям фильтра внешнего предсказания.
[00129] В одном из возможных вариантов реализации режимы внешнего предсказания могут включать, не ограничиваясь этим, стандартный режим внешнего предсказания, режим пропуска, прямой режим и т.п.Исходя из этого, если режимом внешнего предсказания для текущего блока является прямой режим, может быть определено, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, а в противном случае определяют, что текущий блок не удовлетворяет условиям фильтра внешнего предсказания; или, если режимом внешнего предсказания для текущего блока не является ни стандартный режим внешнего предсказания, ни режим пропуска, может быть определено, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, а если режимом внешнего предсказания для текущего блока является стандартный режим внешнего предсказания или режим пропуска, определяют, что текущий блок не удовлетворяет условиям фильтра внешнего предсказания.
[00130] В некоторых из примеров прямой режим может включать, не ограничиваясь этим, стандартный прямой режим, аффинный режим, режим SbTMVP, режим UMVE, режим фильтра внешнего предсказания, режим ТРМ, режим GEO и т.п. Исходя из этого, если режимом внешнего предсказания для текущего блока является режим фильтра внешнего предсказания в прямом режиме, может быть определено, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, а если режимом внешнего предсказания для текущего блока не является режим фильтра внешнего предсказания в прямом режиме, может быть определено, что текущий блок не удовлетворяет условиям фильтра внешнего предсказания; или, если режимом внешнего предсказания для текущего блока не является ни режим UMVE, ни аффинный режим в прямом режиме, может быть определено, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, а если режимом внешнего предсказания для текущего блока является режим UMVE или аффинный режим в прямом режиме, может быть определено, что текущий блок не удовлетворяет условиям фильтра внешнего предсказания.
[00131] В еще одном из возможных вариантов реализации, если текущий блок удовлетворяет условию ограничения размера, определяют, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, а если текущий блок не удовлетворяет условию ограничения размера, определяют, что текущий блок не удовлетворяет условиям фильтра внешнего предсказания.
[00132] То, что текущий блок удовлетворяет условию ограничения размера, может включать, не ограничиваясь этим, следующее: ширина текущего блока меньше или равна первому значению (которое может быть задано в соответствии с практическим применением, без ограничения настоящего изобретения в этом отношении, например, 64 или 128), высота текущего блока меньше или равна первому значению (которое может быть задано в соответствии с практическим применением, без ограничения настоящего изобретения в этом отношении, например, 64 или 128), или площадь текущего блока больше или равна третьему значению (которое может быть задано в соответствии с практическим применением, без ограничения настоящего изобретения в этом отношении, например, 64 или 128). Выше приведены лишь примеры, без ограничения настоящего изобретения в этом отношении.
[00133] К примеру, если ширина текущего блока меньше или равна 64, высота текущего блока меньше или равна 64, и площадь (то есть ширина * высота) текущего блока больше или равна 64, определяют, что текущий блок удовлетворяет условию ограничения размера.
[00134] В еще одном из возможных вариантов реализации, если режимом внешнего предсказания для текущего блока является прямой режим (например, режим фильтра внешнего предсказания в прямом режиме), и текущий блок удовлетворяет условию ограничения размера, определяют, что текущий блок удовлетворяет условиям фильтра внешнего предсказания.
[00135] На шаге 303 устройство кодирования определяет тип фильтра для текущего блока. Типом фильтра для текущего блока может быть тип «без фильтра», типом фильтра для текущего блока может быть фильтр внешнего предсказания, или типом фильтра для текущего блока может быть улучшенный фильтр внешнего предсказания.
[00136] За описанием конкретного способа определения типа фильтра для текущего блока можно обратиться к варианту 2 осуществления настоящего изобретения, и оно не будет здесь повторяться.
[00137] В некоторых из примеров текущий блок может включать компонент яркости и компонент цветности, и, когда для текущего блока выполняют процедуру улучшенного фильтра внешнего предсказания, второе целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости; или второе целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности; или второе целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости, и второе целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
[00138] В некоторых из примеров, когда процедуру улучшенного фильтра внешнего предсказания выполняют для компонента цветности, если компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, процедура улучшенного фильтра внешнего предсказания может быть выполнена для компонента цветности; если компонент цветности не удовлетворяет условиям улучшенного фильтра внешнего предсказания, запрещается выполнять процедуру улучшенного фильтра внешнего предсказания для компонента цветности. При этом то, что компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, может включать, не ограничиваясь этим, то, что компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости.
[00139] В одном из возможных вариантов реализации, если компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости, определяют, что компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, а если компонент цветности принадлежит типам дерева разбиения, отличающимся от типов дерева разбиения для компонента яркости, определяют, что компонент цветности не удовлетворяет условиям улучшенного фильтра внешнего предсказания.
[00140] В некоторых из примеров, если удовлетворено по меньшей мере одно из следующих условий, определяют, что компонент цветности принадлежит типам дерева разбиения, отличающимся от типов дерева разбиения для компонента яркости, а в противном случае определяют, что компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости:
[00141] текущий блок имеет тип разбиения QT, при этом ширина или высота текущего блока равна заранее заданному значению А (например, 8);
[00142] текущий блок имеет тип разбиения BT_VER, при этом ширина текущего блока равна заранее заданному значению В (например, 8);
[00143] текущий блок имеет тип разбиения BT_HOR, при этом высота текущего блока равна заранее заданному значению С (например, 8);
[00144] текущий блок имеет тип разбиения EQT_VER, при этом ширина текущего блока равна заранее заданному значению D (например, 16);
[00145] текущий блок имеет тип разбиения EQT_VER, при этом высота текущего блока равна заранее заданному значению Е (например, 8);
[00146] текущий блок имеет тип разбиения EQT_HOR, при этом высота текущего блока равна заранее заданному значению F (например, 16); или
[00147] текущий блок имеет тип разбиения EQT_HOR, при этом ширина текущего блока равна заранее заданному значению G (например, 8).
[00148] На шаге 304 устройство кодирования определяет флаг фильтра внешнего предсказания для текущего блока в соответствии с флагом активации фильтра внешнего предсказания и типом фильтра для текущего блока. Если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания; если типом фильтра для текущего блока является тип «без фильтра», флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является тип «без фильтра».
[00149] На шаге 305 устройство кодирования кодирует флаг фильтра внешнего предсказания в данных битового потока текущего блока.
[00150] В некоторых из примеров за описанием процедур определения и кодирования флага фильтра внешнего предсказания можно обратиться к описанию варианта 2 осуществления настоящего изобретения, которое не будет здесь повторяться.
[00151] На шаге 306 устройство кодирования передает данные битового потока текущего блока в устройство декодирования.
[00152] В некоторых из примеров данные битового потока текущего блока, помимо флага фильтра внешнего предсказания, могут включать и другое содержимое, относящееся к текущему блоку, например, содержимое, относящееся к информации о движении, а также содержимое, относящееся к восстановленному значению, без ограничения настоящего изобретения в этом отношении.
[00153] В некоторых из примеров последовательность выполнения процедуры в устройстве кодирования может соответствовать приведенному выше описанию, при этом последовательность выполнения процедуры в устройстве декодирования может включать следующее (не показано на чертежах):
[00154] на шаге 307, после приема данных битового потока, устройство декодирования определяет, указывает ли флаг активации фильтра внешнего предсказания на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания.
[00155] Если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания, то запрещается анализировать флаг фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока, то есть для текущего блока не выполняют ни процедуру фильтра внешнего предсказания, ни процедуру улучшенного фильтра внешнего предсказания.
[00156] Если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, выполняют шаг 308.
[00157] На шаге 308 устройство декодирования определяет, удовлетворяет ли текущий блок условиям фильтра внешнего предсказания.
[00158] Если текущий блок не удовлетворяет условиям фильтра внешнего предсказания, то запрещается анализировать флаг фильтра внешнего предсказания текущего блока из данных битового потока текущего блока, то есть для текущего блока не выполняют ни процедуру фильтра внешнего предсказания, ни процедуру улучшенного фильтра внешнего предсказания.
[00159] Если текущий блок удовлетворяет условиям фильтра внешнего предсказания, выполняют шаг 309.
[00160] На шаге 309 устройство декодирования анализирует флаг фильтра внешнего предсказания из данных битового потока текущего блока.
[00161] На шаге 310 устройство декодирования определяет тип фильтра для текущего блока в соответствии с флагом активации фильтра внешнего предсказания и флагом фильтра внешнего предсказания.
[00162] В некоторых из примеров за описанием процедур определения типа фильтра можно обратиться к описанию варианта 1 осуществления настоящего изобретения, которое не будет здесь повторяться.
[00163] В некоторых примерах, если типом фильтра для текущего блока является фильтр внешнего предсказания, выполняют шаг 311; если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, выполняют шаг 312; если типом фильтра для текущего блока является тип «без фильтра», выполняют шаг 313.
[00164] На шаге 311 устройство декодирования получает целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока.
[00165] На шаге 312 устройство декодирования получает целевое значение предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока.
[00166] В одном из возможных вариантов реализации текущий блок включает компонент яркости и компонент цветности, при этом целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости; или целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности; или целевое значение предсказания для компонента яркости может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости, и целевое значение предсказания для компонента цветности может быть получено путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
[00167] На шаге 313 устройство декодирования не выполняет процедуру фильтрации для текущего блока и определяет значение внешнего предсказания для текущего блока в качестве целевого значения предсказания для текущего блока.
[00168] Посредством шага 311, или шага 312, или шага 313, устройство декодирования может получить целевое значение предсказания для текущего блока и определить восстановленное значение текущего блока на основе целевого значения предсказания для текущего блока, без ограничения настоящего изобретения в этом отношении.
[00169] При этом, в рассмотренном выше решении, улучшенный фильтр внешнего предсказания может использоваться для обработки компонентов цветности, то есть улучшенный фильтр внешнего предсказания может использоваться и для обработки компонентов яркости, и для обработки компонентов цветности, что позволяет решить проблему пространственной неоднородности между блоком предсказания и окружающими пикселями, которая вызвана внешним предсказанием, к примеру, устранить проблему пространственной неоднородности компонентов цветности и повысить эффективность кодирования.
[00170] В вариантах осуществления настоящего изобретения улучшенный фильтр внешнего предсказания может поддерживать компоненты цветности. К примеру, для обработки компонентов цветности, которые удовлетворяют условиям улучшенного фильтра внешнего предсказания, может использоваться технология улучшенного фильтра внешнего предсказания.
[00171] В некоторых из примеров, для устройства кодирования, если флаг активации фильтра внешнего предсказания (который далее обозначается interpf_enable_flag или udip_enable_flag) указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, устройство кодирования может выбрать тип фильтра из следующего: «без фильтра», фильтр внешнего предсказания и улучшенный фильтр внешнего предсказания, при помощи RDO и кодировать флаг фильтра внешнего предсказания в соответствии с типом фильтра, то есть флаг фильтра внешнего предсказания передают в данных битового потока.
[00172] В некоторых примерах, для устройства декодирования, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, устройство декодирования может анализировать флаг фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока и определять тип фильтра для текущего блока в соответствии с флагом фильтра внешнего предсказания. Если типом фильтра является фильтр внешнего предсказания, устройство декодирования получает целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока. Если типом фильтра является улучшенный фильтр внешнего предсказания, устройство декодирования получает целевое значение предсказания путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока. Если типом фильтра является тип «без фильтра», устройство декодирования не выполняет процедуру фильтрации для текущего блока и определяет значение внешнего предсказания для текущего блока в качестве целевого значения предсказания.
[00173] Вариант 5 осуществления изобретения: улучшенный фильтр внешнего предсказания поддерживает компоненты цветности. К примеру, процедура улучшенного фильтра внешнего предсказания может выполняться для всех компонентов цветности, или процедура улучшенного фильтра внешнего предсказания может выполняться для компонентов цветности, удовлетворяющих условиям улучшенного фильтра внешнего предсказания.
[00174] В варианте 5 осуществления настоящего изобретения устройство кодирования может получать флаг активации фильтра внешнего предсказания (interpf_enable_ flag). Устройство кодирования может передавать флаг активации фильтра внешнего предсказания в устройство декодирования при помощи данных битового потока, в результате чего устройство декодирования может получать флаг активации фильтра внешнего предсказания. На основе этого может осуществляться управление фильтром внешнего предсказания и улучшенного фильтра внешнего предсказания при помощи флага активации фильтра внешнего предсказания. К примеру, когда флаг активации фильтра внешнего предсказания принимает значение А (например, 1), может обеспечиваться активация фильтра внешнего предсказания и улучшенного фильтра внешнего предсказания. Когда флаг активации фильтра внешнего предсказания принимает значение В (например, 0), может обеспечиваться деактивация фильтра внешнего предсказания и улучшенного фильтра внешнего предсказания. В рассмотренных ниже вариантах осуществления настоящего изобретения в качестве примера рассмотрены значение А, равное 1, и значение В, равное 0.
[00175] В случае устройства кодирования сначала может быть определено значение interpf_enable_flag. Если значение interpf_enable_flag равно 1, текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и в режиме улучшенного фильтра внешнего предсказания. Если значение interpf_enable_flag равно 0, текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания и в режиме улучшенного фильтра внешнего предсказания. При этом, если текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и в режиме улучшенного фильтра внешнего предсказания, устройство кодирования определяет, удовлетворяет ли текущий блок условиям фильтра внешнего предсказания.
[00176] Если текущий блок удовлетворяет условиям фильтра внешнего предсказания, устройство кодирования может выбирать тип фильтра из следующего: «без фильтра», фильтр внешнего предсказания или улучшенный фильтр внешнего предсказания, при помощи RDO, использовать этот тип фильтра в качестве типа фильтра для текущего блока и кодировать флаг фильтра внешнего предсказания, соответствующий типу фильтра, то есть флаг фильтра внешнего предсказания передают в данных битового потока.
[00177] В некоторых из примеров, когда устройство кодирования выбирает тип фильтра из следующего: «без фильтра», фильтр внешнего предсказания или улучшенный фильтр внешнего предсказания, при помощи RDO, это может выполняться следующим образом: устройство кодирования получает первое целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока; устройство кодирования получает второе целевое значение предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока; устройство кодирования не выполняет процедуру фильтрации для текущего блока и определяет значение внешнего предсказания для текущего блока в качестве третьего целевого значения предсказания для текущего блока. Если значение целевой функции «скорость - искажения», соответствующее первому целевому значению предсказания, является наименьшим значением целевой функции «скорость - искажения», может быть определено, что типом фильтра является фильтр внешнего предсказания. Если значение целевой функции «скорость - искажения», соответствующее второму целевому значению предсказания, является наименьшим значением целевой функции «скорость искажения», может быть определено, что типом фильтра является улучшенный фильтр внешнего предсказания. Если значение целевой функции «скорость - искажения», соответствующее третьему целевому значению предсказания, является наименьшим значением целевой функции «скорость искажения», может быть определено, что типом фильтра является тип «без фильтра».
[00178] Когда устройство кодирования получает первое целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока, устройство кодирования может получить первое целевое значение предсказания для компонента яркости путем выполнения процедуры фильтра внешнего предсказания для компонента яркости текущего блока и получить первое целевое значение предсказания для компонента цветности путем выполнения процедуры фильтра внешнего предсказания для компонента цветности текущего блока.
[00179] Когда устройство кодирования получает второе целевое значение предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока, устройство кодирования может получить второе целевое значение предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости текущего блока и получить второе целевое значение предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока.
[00180] Когда устройство кодирования выполняет процедуру улучшенного фильтра внешнего предсказания для компонента цветности текущего блока, устройство кодирования может сначала определить, удовлетворяет ли компонент цветности условиям улучшенного фильтра внешнего предсказания. Если компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, устройство кодирования получает второе целевое значение предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
[00181] В некоторых из примеров, когда устройство кодирования кодирует флаг фильтра внешнего предсказания в соответствии с типами фильтров, указанными в таблице 1, если типом фильтра для текущего блока является тип «без фильтра», первый бит флага фильтра внешнего предсказания кодируют равным 0; если типом фильтра для текущего блока является фильтр внешнего предсказания или улучшенный фильтр внешнего предсказания, первый бит флага фильтра внешнего предсказания кодируют равным 1; если типом фильтра для текущего блока является фильтр внешнего предсказания, второй бит флага фильтра внешнего предсказания кодируют равным 0; и, если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, второй бит флага фильтра внешнего предсказания кодируют равным 1.
[00182] Как можно видеть в таблице 1, если типом фильтра для текущего блока является тип «без фильтра», флаг фильтра внешнего предсказания равен 0, а индекс типа фильтра, соответствующий типу «без фильтра», равен 0; если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания равен 10, а индекс типа фильтра, соответствующий фильтру внешнего предсказания, равен 1; если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания равен 11, а индекс типа фильтра, соответствующий улучшенному фильтру внешнего предсказания, равен 2.
[00183] В случае устройства декодирования анализируют значение interpf_enable_flag из данных битового потока. Если значение interpf_enable_flag равно 1, текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и в режиме улучшенного фильтра внешнего предсказания. Если значение interpf_enable_flag равно 0, текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания и в режиме улучшенного фильтра внешнего предсказания. При этом, если текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и в режиме улучшенного фильтра внешнего предсказания, устройство декодирования может определять, удовлетворяет ли текущий блок условиям фильтра внешнего предсказания. Если текущий блок удовлетворяет условиям фильтра внешнего предсказания, устройство декодирования может анализировать флаг фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока и определять тип фильтра для текущего блока в соответствии с флагом фильтра внешнего предсказания.
[00184] К примеру, в соответствии с таблицей 1, устройство декодирования может декодировать первый бит флага фильтра внешнего предсказания. Если первый бит равен 0, то есть флаг фильтра внешнего предсказания равен 0, определяют, что типом фильтра для текущего блока является тип «без фильтра». Если первый бит не равен 0 (первый бит равен 1), декодируют второй бит флага фильтра внешнего предсказания. Если второй бит равен 0, то есть флаг фильтра внешнего предсказания равен 10, определяют, что типом фильтра для текущего блока является фильтр внешнего предсказания. Если второй бит не равен 0 (второй бит равен 1), то есть флаг фильтра внешнего предсказания равен 11, определяют, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания.
[00185] Как можно видеть в таблице 1, если флаг фильтра внешнего предсказания равен 0, определяют, что индекс типа фильтра равен 0, и что типом фильтра, соответствующим индексу типа фильтра, равному 0, является тип «без фильтра». Если флаг фильтра внешнего предсказания равен 10, определяют, что индекс типа фильтра равен 1, и что типом фильтра, соответствующим индексу типа фильтра, равному 1, является фильтр внешнего предсказания. Если флаг фильтра внешнего предсказания равен 11, определяют, что индекс типа фильтра равен 2, и что типом фильтра, соответствующим индексу типа фильтра, равному 2, является улучшенный фильтр внешнего предсказания.
[00186] Если типом фильтра для текущего блока является тип «без фильтра», устройство декодирования не может выполнять процедуру фильтрации для текущего блока и определяет значение внешнего предсказания для текущего блока в качестве целевого значения предсказания. Если типом фильтра для текущего блока является фильтр внешнего предсказания, устройство декодирования может получать целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока. Если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, устройство декодирования может получать целевое значение предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока.
[00187] Когда устройство декодирования получает целевое значение предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока, устройство декодирования может получать целевое значение предсказания для компонента яркости путем выполнения процедуры фильтра внешнего предсказания для компонента яркости текущего блока и получать целевое значение предсказания для компонента цветности путем выполнения процедуры фильтра внешнего предсказания для компонента цветности текущего блока.
[00188] Когда устройство декодирования получает целевое значение предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока, устройство декодирования может получать целевое значение предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости текущего блока и получать целевое значение предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока.
[00189] Когда устройство декодирования выполняет процедуру улучшенного фильтра внешнего предсказания для компонента цветности текущего блока, устройство декодирования может сначала определить, удовлетворяет ли компонент цветности условиям улучшенного фильтра внешнего предсказания. Если компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, устройство декодирования получает целевое значение предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
[00190] В рассмотренном выше варианте осуществления настоящего изобретения, для устройства кодирования и устройства декодирования, то, что текущий блок удовлетворяет условиям фильтра внешнего предсказания, может включать, не ограничиваясь этим, то, что текущий блок кодируют в прямом режиме (не в режиме пропуска и не в стандартном режиме внешнего предсказания), и то, что текущий блок не кодируют в режиме UMVE или в аффинном режиме, и при этом текущий блок удовлетворяет условию ограничения размера.
[00191] В рассмотренном выше варианте осуществления настоящего изобретения, для устройства кодирования и устройства декодирования процедура улучшенного фильтра внешнего предсказания может выполняться для всех компонентов цветности, и процедура улучшенного фильтра внешнего предсказания может выполняться для компонентов цветности, удовлетворяющих условиям улучшенного фильтра внешнего предсказания. К примеру, когда компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости, компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания.
[00192] Вариант 6 осуществления изобретения: в любом из вариантов 1-5 осуществления настоящего изобретения устройство кодирования/декодирования участвует в получении целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока. Ниже будет описана процедура реализации фильтра внешнего предсказания (interpf). Фильтр внешнего предсказания может применяться в прямом режиме. В прямом режиме получают значение внешнего предсказания, а также используют один из режимов внутреннего предсказания для получения значения внутреннего предсказания. Наконец, значение внешнего предсказания и значение внутреннего предсказания взвешивают для получения окончательного целевого значения предсказания. Фильтр внешнего предсказания позволяет устранить проблему пространственной неоднородности между блоком предсказания и окружающими пикселями, которая вызвана внешним предсказанием.
[00193] Фиг. 4 представляет собой блок-схему, иллюстрирующую процедуру декодирования с использованием фильтра внешнего предсказания. В данном случае для примера выбрана процедура декодирования в устройстве декодирования, при этом процедура кодирования в устройстве кодирования аналогична ей. Фильтр внешнего предсказания применяют между процедурой внешнего предсказания и процедурой восстановления. Фильтр внешнего предсказания используют в основном для текущего блока в прямом режиме (не в режиме пропуска и не в режиме стандартного внешнего предсказания), при этом текущий блок не кодирован в режиме UMVE, или текущий блок не кодирован в аффинном режиме.
[00194] Если для текущего блока должен быть использован фильтр внешнего предсказания, то сначала может применяться режим внешнего предсказания для получения значения внешнего предсказания для текущего блока и режим внутреннего предсказания для получения значения внутреннего предсказания для текущего блока. Затем определяют целевое значение предсказания для текущего блока в соответствии со значением внешнего предсказания и значением внутреннего предсказания. На основе целевого значения предсказания для текущего блока выполняют процедуру восстановления. Если для текущего блока не должен использоваться фильтр внешнего предсказания, то может применяться режим внешнего предсказания для получения значения внешнего предсказания для текущего блока. Затем значение внешнего предсказания для текущего блока определяют в качестве целевого значения предсказания для текущего блока. На основе целевого значения предсказания для текущего блока выполняют процедуру восстановления.
[00195] В некоторых из примеров, для каждого местоположения пикселя в текущем блоке может использоваться режим внешнего предсказания для получения значения внешнего предсказания в местоположении пикселя, режим внутреннего предсказания (например, планарный режим, режим DC или любой угловой режим, без ограничения настоящего изобретения в этом отношении) может использоваться для получения значения внутреннего предсказания в местоположении пикселя, и упомянутые значение внешнего предсказания в местоположении пикселя и значение внутреннего предсказания в местоположении пикселя взвешивают для получения целевого значения предсказания в местоположении пикселя. Затем целевые значения предсказания во всех местоположениях пикселей текущего блока объединяют для получения целевого значения предсказания для текущего блока.
[00196] В одном из возможных вариантов реализации, для каждого местоположения пикселя в текущем блоке, если допустить, что для получения значения внутреннего предсказания в местоположении пикселя используют планарный режим, то для получения значения внутреннего предсказания в местоположении пикселя могут использоваться следующие формулы:
Pred_Q(x,y)=(Pred_V(x,y)+Pred_H(x,y)+1)»2,
Pred_V(x,y)=((h-1-y)*Recon(x,-l)+(y+1)*Recon(-l,h)+(h»l))»log2(h), и
Pred_H(x,y)=((w-1-x)*Recon(-1,y)+(x+1)*Recon(w,-1)+(w»1))»log2(w),
[00197] где Pred_Q(x,y) значение внутреннего предсказания в местоположении (х,у) пикселя, w и h - ширина и высота текущего блока, х и у - относительные координаты текущего блока, и Recon(x,y) - восстановленное значение пикселя вокруг текущего блока.
[00198] В одном из возможных вариантов реализации, для каждого местоположения пикселя в текущем блоке выполняют взвешивание 5:3 на основе значения внешнего предсказания (Pred_inter) и значения внутреннего предсказания (Pred_Q), в результате чего получают целевое значение предсказания в местоположении пикселя. Значение 5:3 является всего лишь одним из примеров. Могут использоваться и другие весовые коэффициенты. К примеру, для получения целевого значения предсказания в местоположении пикселя может использоваться следующая формула:
Pred(x,y)=(Pred_inter(x,y)*5+Pred_Q(x,y)*3+4)»3,
[00199] где Pred(x,y) - целевое значение предсказания в местоположении (х,у) пикселя, Pred_inter(x,y) значение внешнего предсказания в местоположении (х,у) пикселя, a Pred_Q(x,y) значение внутреннего предсказания в местоположении (х,у) пикселя.
[00200] Вариант 7 осуществления изобретения: в любом из вариантов 1-5 осуществления настоящего изобретения устройство кодирования/декодирования участвует в получении целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока. Ниже будет описана процедура реализации улучшенного фильтра внешнего предсказания (enhance interpf). Когда для текущего блока выполняют процедуру улучшенного фильтра внешнего предсказания, могут быть получены значение внешнего предсказания для текущего блока и восстановленное значение для восстановленных пикселей, смежных с текущим блоком (например, восстановленное значение для восстановленных пикселей в столбце слева от текущего блока и/или восстановленное значение для восстановленных пикселей в строке сверху от текущего блока), и определяют целевое значение предсказания для текущего блока в соответствии со значением внешнего предсказания и восстановленным значением.
[00201] Улучшенный фильтр внешнего предсказания получают на основе фильтра внутреннего предсказания (Intra Prediction Filter, IPF). Путем добавления IPF в фильтр внешнего предсказания, может выполняться процедура улучшенного фильтра внешнего предсказания для текущего блока, в результате чего могут быть более эффективно устранены шум и неоднородность после компенсации движения. Поскольку улучшенный фильтр внешнего предсказания получают на основе IPF, сначала будет рассмотрен IPF-фильтр. Для IPF-фильтра может использоваться 1 бит, указывающий, разрешено ли кодирование текущего блока в режиме IPF, при этом, следует ли блок кодировать в режиме IPF, определяют на стадии RDO. Технология IPF заключается в выборе опорных пикселей согласно режиму внутреннего предсказания текущего блока, что может включать три описанных ниже случая.
[00202] Случай 1: для режима DC, планарного режима и билинейного режима, в качестве опорных пикселей используют восстановленные пиксели из левого столбца и восстановленные пиксели из верхней строки, и при этом используют фильтр с тремя отводами. К примеру, для выполнения процедуры IPF может использоваться следующая формула:
P'(x,y)=f(x)⋅Р(-1,у)+f(y)⋅Р(х, -1)+(1-f(x)-f(у))⋅Р(х,у)
[00203] где 0≤х,у<N, Р'(х,у) -значение внутреннего предсказания после фильтрации, Р(х,у) значение внутреннего предсказания, полученное с помощью обычного режима внутреннего предсказания, f(x) и f(y) - коэффициенты фильтра, а N размер текущего блока.
[00204] Случай 2: для вертикального режима предсказания в высокопроизводительной модели (High-Performance Model, НРМ) (например, режимы 3-18), в качестве опорных пикселей используют восстановленные пиксели в левом столбце, а также используют фильтр с двумя отводами. К примеру, для выполнения процедуры IPF может использоваться следующая формула:
P'(x,y)=f(x)⋅Р(-1,У)+(1-f(x))⋅Pix.y),
[00205] где x<N, P'(x,y) может быть значением внутреннего предсказания после фильтрации, P(x,у) может быть значением внутреннего предсказания, полученным с помощью обычного режима внутреннего предсказания, f(x) и f(y) могут быть коэффициентами фильтра, а N - размер текущего блока.
[00206] Случай 3: для горизонтального режима предсказания в НРМ (например, режимы 19-32), в качестве опорных пикселей используют восстановленные пиксели в верхней строке, а также используют фильтр с двумя отводами. К примеру, может использоваться следующая формула:
Р'(х,у)=f(у)⋅Р(х,-1)+(1-f(у))⋅Р(х,у)
[00207] где у<N, Р'(х,у) может быть значением внутреннего предсказания после фильтрации, Р(х,у) может быть значением внутреннего предсказания, полученным с помощью обычного режима внутреннего предсказания, f(x) и (у) могут быть коэффициентами фильтра, а N размер текущего блока.
[00208] В некоторых из примеров, для случаев 1, 2 и 3, чтобы исключить вычисления с плавающей точкой коэффициенты фильтров могут подвергаться обработке с фиксированной точкой. Например, формула IPF для случая 1 может быть заменена на приведенную ниже формулу. В этой формуле F(x) и F(y) - коэффициенты после обработки с фиксированной точкой, то есть f(x) и f(у) преобразованы в F(x) и F(y). Случаи 2 и 3 аналогичны этому и не будут здесь описаны.
р'(х)=(F(x)⋅р(-1,у)+F(y)⋅р(х,-1)+(64-F(x)-F(y))⋅р(х)+32)»6
[00209] В некоторых из примеров F(x) и F(y) могут быть коэффициентами фильтра (то есть коэффициентами фильтра после усиления). В таблице 2 показаны примеры коэффициентов фильтра, при этом они относятся одновременно к размерам блока и к расстоянию от опорных пикселей. В таблице 2 размер блока предсказания представляет собой ширину или высоту текущего блока, а расстояние от опорных пикселей представляет собой расстояние предсказания. В таблице 2 максимальное расстояние предсказания задано равным 10. На практике максимальное расстояние предсказания может быть больше, без ограничения настоящего изобретения в этом отношении.
[00210] К примеру, в соответствии с фиг. 5, для местоположения А пикселя в первой строке и третьем столбце текущего блока, при условии, что опорными пикселями являются восстановленные пиксели в левом столбце, расстояние между местоположением А пикселя и опорными пикселями равно 3; если допустить, что размер текущего блока равен 4*4, коэффициент фильтра равен 2; если допустить, что размер текущего блока равен 8*8, коэффициент фильтра равен 14; если допустить, что размер текущего блока равен 16*16, коэффициент фильтра равен 19; если допустить, что размер текущего блока равен 32*32, коэффициент фильтра равен 21, и т.д. Для других местоположений пикселей способ определения коэффициентов пикселей аналогичен способу для местоположения А пикселя и не будет описан здесь.
[00211] В некоторых из примеров, путем добавления IPF в фильтр внешнего предсказания может применяться улучшенный фильтр внешнего предсказания для текущего блока, то есть помимо фильтра внешнего предсказания добавляют новый способ фильтрации, а именно, улучшенный фильтр внешнего предсказания. Улучшенный фильтр внешнего предсказания позволяет повысить эффективность кодирования без изменения сложности кодирования и декодирования. Флаг фильтра внешнего предсказания может использоваться для указания, использовать ли улучшенный фильтр внешнего предсказания, и затем для указания выбранного типа фильтра может использоваться флаг индекса.
[00212] Фиг. 4 представляет собой блок-схему, иллюстрирующую процедуру декодирования с использованием улучшенного фильтра внешнего предсказания. В данном случае для примера выбрана процедура декодирования в устройстве декодирования, при этом процедура кодирования в устройстве кодирования аналогична ей. Улучшенный фильтр внешнего предсказания применяют между процедурой внешнего предсказания и процедурой восстановления. Улучшенный фильтр внешнего предсказания используют в основном для текущего блока в прямом режиме (не в режиме пропуска и не в режиме стандартного внешнего предсказания), при этом текущий блок не кодирован в режиме UMVE, или текущий блок не кодирован в аффинном режиме.
[00213] Если для текущего блока должен использоваться улучшенный фильтр внешнего предсказания, сначала может использоваться режим внешнего предсказания для получения значения внешнего предсказания для текущего блока, и может быть получено восстановленное значение для восстановленных пикселей, смежных с текущим блоком (например, восстановленное значение для восстановленных пикселей в левом столбце от текущего блока и/или восстановленное значение для восстановленных пикселей в верхней строке от текущего блока). Затем определяют целевое значение предсказания для текущего блока в соответствии со значением внешнего предсказания и восстановленным значением. На основе целевого значения предсказания для текущего блока выполняют процедуру восстановления. К примеру, может использоваться формула, приведенная для случая 3 выше, при этом принципы реализации остаются аналогичными, без ограничения настоящего изобретения в данном отношении.
[00214] В некоторых из примеров варианты 17 осуществления настоящего изобретения могут быть реализованы по отдельности или в комбинации. К примеру, варианты 1 и 2 осуществления настоящего изобретения могут быть реализованы в комбинации. Варианты 1 и 3 осуществления настоящего изобретения могут быть реализованы в комбинации. Варианты 2 и 3 осуществления настоящего изобретения могут быть реализованы в комбинации. Варианты 3 и 5 осуществления настоящего изобретения могут быть реализованы в комбинации. Варианты 1, 6 и 7 осуществления настоящего изобретения могут быть реализованы в комбинации. Выше указаны лишь некоторые из примеров, и комбинации вариантов осуществления настоящего изобретения в данном документе не ограничены.
[00215] На основе той же идеи изобретения, что и в рассмотренных выше способах, в вариантах осуществления настоящего изобретения предлагается оборудование для декодирования, применяемое в устройстве декодирования. Фиг. 6А представляет собой структурную схему, иллюстрирующую оборудование для декодирования. Оборудование содержит: модуль 611 получения, сконфигурированный, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, для анализа флага фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока; модуль 612 обработки, сконфигурированный, если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, для получения целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока, и, если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, для получения целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока.
[00216] Модуль 611 получения также сконфигурирован для анализа флага активации фильтра внешнего предсказания из данных битового потока, при этом флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, или на то, что текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания.
[00217] В некоторых из примеров, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, когда флаг фильтра внешнего предсказания принимает первое значение, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является тип «без фильтра»; когда флаг фильтра внешнего предсказания принимает второе значение, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; когда флаг фильтра внешнего предсказания принимает третье значение, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания.
[00218] Текущий блок включает компонент яркости и компонент цветности. Модуль 612 обработки при получении целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока также сконфигурирован для получения целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости; или для получения целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности; или для получения целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости и для получения целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
[00219] Модуль 612 обработки при получении целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности также сконфигурирован для получения значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности, и определения целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
[00220] На основе той же идеи изобретения, что и в рассмотренных выше способах, в вариантах осуществления настоящего изобретения предлагается оборудование для кодирования, применяемое в устройстве кодирования. Фиг. 6А представляет собой структурную схему, иллюстрирующую оборудование для кодирования. Оборудование содержит: модуль 621 кодирования, сконфигурированный, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, для кодирования флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока, при этом, если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; или, если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания; модуль 622 передачи, сконфигурированный для передачи данных битового потока текущего блока.
[00221] Модуль 621 кодирования также сконфигурирован для кодирования флага активации фильтра внешнего предсказания из данных битового потока, при этом флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, или на то, что текущий блок не разрешено кодировать в режиме фильтра внешнего предсказания.
[00222] Модуль 621 кодирования при кодировании флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока также сконфигурирован, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, когда типом фильтра для текущего блока является тип «без фильтра», для кодирования флага фильтра внешнего предсказания как первого значения в данных битового потока текущего блока; когда типом фильтра для текущего блока является фильтр внешнего предсказания, для кодирования флага фильтра внешнего предсказания как второго значения в данных битового потока текущего блока; когда типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, для кодирования флага фильтра внешнего предсказания как третьего значения в данных битового потока текущего блока.
[00223] Модуль 621 кодирования также сконфигурирован для получения первого целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока; получения второго целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока; определения значения внешнего предсказания для текущего блока в качестве третьего целевого значения предсказания для текущего блока, без выполнения процедуры фильтрации для текущего блока; определения типа фильтра для текущего блока в соответствии со значением целевой функции «скорость - искажения», соответствующим первому целевому значению предсказания, значением целевой функции «скорость -искажения», соответствующим второму целевому значению предсказания, и значением целевой функции «скорость искажения», соответствующим третьему целевому значению предсказания.
[00224] Текущий блок включает компонент яркости и компонент цветности. Модуль 621 кодирования при получении второго целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока также сконфигурирован для получения второго целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости; или получения второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности; или получения второго целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости и получения второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
[00225] Модуль 621 кодирования при получении второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности также сконфигурирован для получения значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности, и определения второго целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
[00226] На основе той же идеи изобретения, что и в рассмотренных выше способах, в вариантах осуществления настоящего изобретения предлагается оборудование для кодирования и декодирования, применяемое в устройстве декодирования или в устройстве кодирования. Фиг. 6С представляет собой структурную схему, иллюстрирующую оборудование для кодирования и декодирования. Оборудование содержит: модуль 631 обработки, сконфигурированный, если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, для получения целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока; модуль 632 определения, сконфигурированный для определения целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности.
[00227] Модуль 631 обработки также сконфигурирован, если компонент цветности текущего блока удовлетворяет условиям улучшенного фильтра внешнего предсказания, для получения целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности, при этом то, что компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, включает, не ограничиваясь этим, то, что компонент цветности текущего блока принадлежит тому же типу дерева разбиения, что и компонент яркости текущего блока.
[00228] Модуль 631 обработки также сконфигурирован для получения значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности, и определения целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
[00229] Модуль 631 обработки также сконфигурирован для получения целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости текущего блока; при этом модуль 632 определения также сконфигурирован для определения целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности и целевым значением предсказания для компонента яркости.
[00230] В вариантах осуществления настоящего изобретения предлагается устройство декодирования (в некоторых из примеров устройство декодирования может быть устройством видеодекодирования). На аппаратном уровне структурная аппаратная схема устройства декодирования может соответствовать фиг. 7А и включать процессор 711 и машиночитаемый носитель 712 данных. На машиночитаемом носителе 712 данных хранятся машиночитаемые инструкции, которые могут исполняться процессором 711. Процессор 711 сконфигурирован для исполнения машиночитаемых инструкций для осуществления способов, описанных в приведенных выше вариантах осуществления настоящего изобретения. К примеру, процессор может использоваться для исполнения машиночитаемых инструкций для выполнения следующих шагов: если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, анализ флага фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока; если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, получение целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока; если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, получение целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока.
[00231] Альтернативно, процессор может использоваться для исполнения машиночитаемых инструкций для выполнения следующих шагов: если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока; и определение целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности.
[00232] В вариантах осуществления настоящего изобретения предлагается устройство кодирования (в некоторых из примеров устройство кодирования может быть устройством видеокодирования). На аппаратном уровне структурная аппаратная схема устройства кодирования может соответствовать фиг. 7В и включать процессор 721 и машиночитаемый носитель 722 данных. На машиночитаемом носителе 722 данных хранятся машиночитаемые инструкции, которые могут исполняться процессором 721. Процессор 721 сконфигурирован для исполнения машиночитаемых инструкций для осуществления способов, описанных в приведенных выше вариантах осуществления настоящего изобретения. К примеру, процессор может использоваться для исполнения машиночитаемых инструкций для выполнения следующих шагов: если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания, и текущий блок удовлетворяет условиям фильтра внешнего предсказания, кодирование флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока, при этом, если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; или, если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания. Альтернативно, процессор может использоваться для исполнения машиночитаемых инструкций для выполнения следующих шагов: если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока; и определение целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности.
[00233] На основе той же идеи изобретения, что и в рассмотренных выше способах, в вариантах осуществления настоящего изобретения предлагается устройство камеры. Устройство камеры может включать оборудование для кодирования и/или оборудование для декодирования в соответствии с любым из рассмотренных выше вариантов осуществления настоящего изобретения.
[00234] На основе той же идеи изобретения, что и в рассмотренных выше способах, в вариантах осуществления настоящего изобретения предлагается также машиночитаемый носитель данных. На машиночитаемом носителе данных хранятся компьютерные инструкции. Когда компьютерные инструкции исполняются процессором, может осуществляться способ декодирования, способ кодирования или способ кодирования и декодирования, описанные в приведенных выше вариантах осуществления настоящего изобретения, без ограничения настоящего изобретения в этом отношении.
[00235] Системы, оборудование, модули или блоки, описанные в приведенных выше вариантах осуществления настоящего изобретения, могут быть реализованы при помощи компьютерных чипов или объектов, или при помощи изделий, имеющих заданные функции. Типовым устройством реализации является компьютер, при этом конкретной формой компьютера может быть персональный компьютер, портативный компьютер, сотовый телефон, телефон с камерой, смартфон, карманный персональный компьютер, медиапроигрыватель, навигационное устройство, устройство приема и передачи электронной почты, планшетный компьютер, носимое устройство или любая комбинация этих устройств.
[00236] Для простоты при описании упомянутых выше устройств их различные блоки разделены в зависимости от их функций. При практической реализации настоящего изобретения функции каждого из блоков могут быть реализованы в виде аппаратного и/или программного обеспечения.
[00237] Специалистам в данной области техники понятно, что варианты осуществления настоящего изобретения могут быть реализованы в виде способов, систем или компьютерных программных продуктов. Настоящее изобретение может принимать форму полностью аппаратных вариантов его осуществления, полностью программных вариантов его осуществления или вариантов осуществления, объединяющих программные и аппаратные аспекты. При этом варианты осуществления настоящего изобретения могут принимать форму компьютерного программного продукта, реализованного на одном или более подходящих носителях данных (включая, не ограничиваясь этим, дисковые накопители, CD-ROM, оптические накопители и т.п.), которые содержат машиночитаемые программные коды.
[00238] Выше были рассмотрены лишь возможные варианты осуществления настоящего изобретения, которые не ограничивают изобретение. Специалистам в данной области техники понятно, что настоящее изобретение может допускать множество различных изменений и модификаций. Все модификации, эквивалентные замены, улучшения и т.п., выполненные в пределах сущности настоящего изобретения, находятся в объеме формулы изобретения.
Claims (78)
1. Способ декодирования, выполняемый устройством декодирования и отличающийся тем, что он включает:
если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и текущий блок удовлетворяет условиям фильтра внешнего предсказания, анализ (211) флага фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока;
если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, получение (212) целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока;
если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, получение (213) целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока;
при этом получение (213) целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока включает:
получение значения внешнего предсказания для текущего блока и восстановленного значения для восстановленных пикселей, смежных с текущим блоком; и
определение целевого значения предсказания для текущего блока в соответствии со значением внешнего предсказания и упомянутым восстановленным значением.
2. Способ по п. 1, в котором текущий блок включает компонент яркости и компонент цветности, при этом получение целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока включает:
получение целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости; или
получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности; или
получение целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости и получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
3. Способ по п. 2, в котором получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности включает:
если компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности;
при этом то, что компонент цветности удовлетворяет условиям улучшенного фильтра внешнего предсказания, включает то, что компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости.
4. Способ по п. 3, в котором то, что компонент цветности принадлежит тому же типу дерева разбиения, что и компонент яркости, включает то, что текущий блок не удовлетворяет ни одному из следующих условий:
текущий блок имеет тип разбиения квадродерева (QT), при этом ширина или высота текущего блока равна 8;
текущий блок имеет тип разбиения вертикального двоичного дерева (ВТ_VER), при этом ширина текущего блока равна 8;
текущий блок имеет тип разбиения горизонтального двоичного дерева (ВТ_HOR), при этом высота текущего блока равна 8;
текущий блок имеет тип разбиения вертикального расширенного квадродерева (EQT_VER), при этом ширина текущего блока равна 16;
текущий блок имеет тип разбиения вертикального расширенного квадродерева (EQT_VER), при этом высота текущего блока равна 8;
текущий блок имеет тип разбиения горизонтального расширенного квадродерева (EQT_HOR), при этом высота текущего блока равна 16; и
текущий блок имеет тип разбиения горизонтального расширенного квадродерева (EQT_HOR), при этом ширина текущего блока равна 8.
5. Способ по п. 2, в котором получение целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности включает:
получение значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности;
определение целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
6. Способ кодирования, выполняемый устройством кодирования и отличающийся тем, что он включает:
если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и текущий блок удовлетворяет условиям фильтра внешнего предсказания, кодирование (221) флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока,
при этом, если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания; или,
если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания;
при этом, если для текущего блока используется улучшенный фильтр внешнего предсказания, используют режим внешнего предсказания для получения значения внешнего предсказания для текущего блока, получают восстановленное значение для восстановленных пикселей, смежных с текущим блоком, и определяют целевое значение предсказания для текущего блока в соответствии со значением внешнего предсказания и упомянутым восстановленным значением.
7. Способ по п. 6, в котором перед кодированием флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока способ также включает:
получение первого целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока;
получение второго целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока;
определение значения внешнего предсказания для текущего блока в качестве третьего целевого значения предсказания для текущего блока, без выполнения процедуры фильтрации для текущего блока;
определение типа фильтра для текущего блока в соответствии со значением целевой функции «скорость искажения», соответствующим первому целевому значению предсказания, значением целевой функции «скорость - искажения», соответствующим второму целевому значению предсказания, и значением целевой функции «скорость - искажения», соответствующим третьему целевому значению предсказания;
при этом значение целевой функции «скорость - искажения» получают на основе функции «скорость - искажения»:
J(режим)=D+λ*R,
где J представляет значение целевой функции «скорость - искажения», D представляет искажение, λ - множитель Лагранжа, a R - фактическое количество битов, необходимых для кодирования блока изображения в режиме.
8. Способ по п. 7, в котором текущий блок включает компонент яркости и компонент цветности, при этом получение второго целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока включает:
получение второго целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости; или
получение второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности; или
получение второго целевого значения предсказания для компонента яркости путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента яркости и получение второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности.
9. Способ по п. 8, в котором получение второго целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности включает:
получение значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности;
определение второго целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
10. Способ кодирования и декодирования, выполняемый устройством кодирования или устройством декодирования и отличающийся тем, что он включает:
если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, получение (231) целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока;
определение (232) целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности;
при этом получение (231) целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока включает:
получение значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности; и
определение целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и восстановленным значением цветности.
11. Оборудование для декодирования, применяемое в устройстве декодирования и отличающееся тем, что оно содержит:
модуль (611) получения, сконфигурированный, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и текущий блок удовлетворяет условиям фильтра внешнего предсказания, для анализа флага фильтра внешнего предсказания для текущего блока из данных битового потока текущего блока;
модуль (612) обработки, сконфигурированный:
если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, для получения целевого значения предсказания для текущего блока путем выполнения процедуры фильтра внешнего предсказания для текущего блока, и,
если флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, для получения целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока;
при этом при получении целевого значения предсказания для текущего блока путем выполнения процедуры улучшенного фильтра внешнего предсказания для текущего блока модуль (612) обработки также сконфигурирован для:
получения значения внешнего предсказания для текущего блока и восстановленного значения для восстановленных пикселей, смежных с текущим блоком; и
определения целевого значения предсказания для текущего блока в соответствии со значением внешнего предсказания и упомянутым восстановленным значением.
12. Оборудование для кодирования, применяемое в устройстве кодирования и отличающееся тем, что оно содержит:
модуль (621) кодирования, сконфигурированный, если флаг активации фильтра внешнего предсказания указывает на то, что текущий блок разрешено кодировать в режиме фильтра внешнего предсказания и текущий блок удовлетворяет условиям фильтра внешнего предсказания, для кодирования флага фильтра внешнего предсказания для текущего блока в данных битового потока текущего блока в соответствии с типом фильтра для текущего блока,
при этом,
если типом фильтра для текущего блока является фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является фильтр внешнего предсказания, или,
если типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания, флаг фильтра внешнего предсказания указывает на то, что типом фильтра для текущего блока является улучшенный фильтр внешнего предсказания;
модуль (622) передачи, сконфигурированный для передачи данных битового потока текущего блока;
при этом, если для текущего блока используется улучшенный фильтр внешнего предсказания, режим внешнего предсказания используется для получения значения внешнего предсказания текущего блока, получают восстановленное значение для восстановленных пикселей, смежных с текущим блоком, и целевое значение предсказания для текущего блока определяется в соответствии со значением внешнего предсказания и упомянутым восстановленным значением.
13. Оборудование для кодирования и декодирования, применяемое в устройстве кодирования или в устройстве декодирования и отличающееся тем, что оно содержит:
модуль (631) обработки, сконфигурированный, если определено, что улучшенный фильтр внешнего предсказания активирован для текущего блока, для получения целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока;
модуль (632) определения, сконфигурированный для определения целевого значения предсказания для текущего блока в соответствии с целевым значением предсказания для компонента цветности;
при этом при получении целевого значения предсказания для компонента цветности путем выполнения процедуры улучшенного фильтра внешнего предсказания для компонента цветности текущего блока модуль (631) обработки сконфигурирован для:
получения значения внешнего предсказания для компонента цветности и восстановленного значения цветности для восстановленных пикселей, смежных с компонентом цветности; и
определения целевого значения предсказания для компонента цветности в соответствии со значением внешнего предсказания для компонента цветности и упомянутым восстановленным значением цветности.
14. Устройство декодирования, отличающееся тем, что оно содержит:
машиночитаемый носитель (712) данных, на котором хранятся машиночитаемые инструкции; и
процессор (711) для исполнения машиночитаемых инструкций для выполнения способа по любому из пп. 1-5.
15. Устройство кодирования, отличающееся тем, что оно содержит:
машиночитаемый носитель (722) данных, на котором хранятся машиночитаемые инструкции; и
процессор (721) для исполнения машиночитаемых инструкций для выполнения способа по любому из пп. 6-9.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010220367.X | 2020-03-25 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023134877A Division RU2023134877A (ru) | 2020-03-25 | 2021-03-23 | Способы, оборудование и устройства для декодирования, кодирования и кодирования/декодирования |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2810727C1 true RU2810727C1 (ru) | 2023-12-28 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2543953C2 (ru) * | 2010-04-12 | 2015-03-10 | Квэлкомм Инкорпорейтед | Смешанные фильтры с отводами |
RU2579688C2 (ru) * | 2011-02-23 | 2016-04-10 | Квэлкомм Инкорпорейтед | Мультиметрическая фильтрация |
US10003805B2 (en) * | 2013-07-01 | 2018-06-19 | Samsung Electronics Co., Ltd. | Video encoding and decoding method accompanied with filtering, and device thereof |
US20190045183A1 (en) * | 2015-09-06 | 2019-02-07 | Mediatek Inc. | Method and apparatus of adaptive inter prediction in video coding |
CN107896330B (zh) * | 2017-11-29 | 2019-08-13 | 北京大学深圳研究生院 | 一种用于帧内和帧间预测的滤波方法 |
US20190268594A1 (en) * | 2016-11-28 | 2019-08-29 | Electronics And Telecommunications Research Institute | Method and device for filtering |
WO2019172705A1 (ko) * | 2018-03-09 | 2019-09-12 | 한국전자통신연구원 | 샘플 필터링을 이용한 영상 부호화/복호화 방법 및 장치 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2543953C2 (ru) * | 2010-04-12 | 2015-03-10 | Квэлкомм Инкорпорейтед | Смешанные фильтры с отводами |
RU2579688C2 (ru) * | 2011-02-23 | 2016-04-10 | Квэлкомм Инкорпорейтед | Мультиметрическая фильтрация |
US10003805B2 (en) * | 2013-07-01 | 2018-06-19 | Samsung Electronics Co., Ltd. | Video encoding and decoding method accompanied with filtering, and device thereof |
US20190045183A1 (en) * | 2015-09-06 | 2019-02-07 | Mediatek Inc. | Method and apparatus of adaptive inter prediction in video coding |
US20190268594A1 (en) * | 2016-11-28 | 2019-08-29 | Electronics And Telecommunications Research Institute | Method and device for filtering |
CN107896330B (zh) * | 2017-11-29 | 2019-08-13 | 北京大学深圳研究生院 | 一种用于帧内和帧间预测的滤波方法 |
WO2019172705A1 (ko) * | 2018-03-09 | 2019-09-12 | 한국전자통신연구원 | 샘플 필터링을 이용한 영상 부호화/복호화 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102518242B1 (ko) | 영상 정보 부호화 방법 및 복호화 방법 | |
US10779001B2 (en) | Image encoding method and image decoding method | |
KR101430048B1 (ko) | 동영상 복호화 장치 | |
KR20190016984A (ko) | 인트라 예측 정보 부호화 방법 및 장치 | |
KR101981905B1 (ko) | 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체 | |
KR20160106022A (ko) | 동영상 부호화 장치 | |
WO2012172668A1 (ja) | 動画像符号化方法及び装置並びに動画復号化方法及び装置 | |
KR20120012401A (ko) | 인트라 예측 복호화 장치 | |
KR20150027530A (ko) | Hevc 부호화 장치 및 이를 이용한 부호화 방법 | |
KR20190088020A (ko) | 다양한 변환 기술을 사용하는 비디오 코딩 방법 및 장치 | |
JP7483921B2 (ja) | 復号化、符号化、符号化復号化方法、装置及びその機器 | |
RU2810727C1 (ru) | Способы, оборудование и устройства для декодирования, кодирования и кодирования/декодирования | |
KR101688085B1 (ko) | 고속 인트라 예측을 위한 영상 부호화 방법 및 장치 | |
KR20200004749A (ko) | 잔차신호 재배열 방법 및 영상 복호화 장치 | |
KR20140135855A (ko) | 동영상 처리 방법 및 장치 | |
KR101609427B1 (ko) | 영상의 복호화/부호화 방법 및 장치 | |
JP2023086397A (ja) | イントラ予測装置、復号装置、及びプログラム | |
JP2024099785A (ja) | 復号化、符号化、符号化復号化方法、装置及びその機器 | |
KR20220116107A (ko) | 영상 신호 부호화/복호화 방법 및 장치 | |
JPWO2012172668A1 (ja) | 動画像符号化方法及び装置並びに動画復号化方法及び装置 |